http://cafe.naver.com/cegui/139
http://cafe.naver.com/cegui/2 이글에서 혜윰님이 말씀하신 CEGUI::System::Destroy 라는 함수가 없더라구요...
그대신 CEGUI::System::GetInstance().detstroysingleton인가하는 메소드가 있긴한데
보호영역이라서 사용이않되고 영역을 변경해서 컴파일해봤지만 무수한 메모리릭은 그대로 나더라구요
그래서 cegui포럼을 검색해서 답을 찾았습니당...
delete CEGUI::System::getSingletonPtr();
로 System의 싱글톤 클래스를 받아와서 해야되는거엿더구요 -ㅇ-;;;;킁
이걸해도 나는 메모리릭!!!!!!!!!!!!!!!!!!!!!!!!!!
누수추적해봣더니 Renderer에서 나오는 릭이엇습니다
고로 delete m_myRenderer; 를 해줬습니다 m_myRenderer는 CEGUI::DirectX9Renderer* 이고요 ㅎ
이랫더니 메모리 누수 빠이 빠이 ><
순서를 바꿔서 렌더러 부터 해제를 시켜봤더니 메모리 오류가 뜨더라구요.
System를 먼져 해제하면서 렌더러속에있는 텍스쳐를 먼져 삭제해주고 렌더링 객체를 삭제해야하는데
렌더링 객체부터 삭제하면 System이 렌더링객체속 텍스쳐를 삭제 못해줘서 뜨는듯 하더라구요
그러므로 System을 먼져 릴리즈후 렌더러를 릴리즈시켜주면 될꺼같네요
고로 정리하자면
delete CEGUI::System::getSingletonPtr(); //CEGUI::System의 싱글톤 포인터를 받아와서 해제시킨다
delete m_myRenderer; //CEGUI::DirectX9Renderer를 해제시킨다.// delete는 System-> Renderer순으로
ps. 카테고리 선택하는데 cegui분석에 올릴려햇는데 않올려지네요 -ㅇ-;; 응용이라 할정도는 아니라서요;;
운영진님이 혹시 보신다면 글이동좀 부탁드릴꼐요 ㅠㅠ
'프로그래밍(Programming) > GUI' 카테고리의 다른 글
CEGUI 그냥 사용하기엔 정말 무겁습니다 (0) | 2012.12.02 |
---|---|
CEGUI 한글설정 (0) | 2012.12.02 |
[CEGUI] dll 을 찾지 못할때, CEImagesetEditor 실행시 CEGUISILLYImageCodec_d 혹은 CEGUISILLYImageCodec 을 찾을 수 없다는 에러 (0) | 2012.11.20 |
[CEGUI] DirectX9/Direct3D 에서 사용하기 (0) | 2012.11.19 |
CEGUI 설치 및 CEGUI VC++ 설정 (0) | 2012.11.19 |