네이버 카페 CEGUI 과 함께올린 글
링크 : http://cafe.naver.com/cegui/139 
--------------------------------------------------------------------------------------------
http://cafe.naver.com/cegui/2 에서 혜윰님이 말씀하신 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();      //System싱글톤 포인터를 받아와서 해제시킨다
 delete m_myRenderer;                                //DirectX9Renderer를 해제시킨다.
                                                                 // delete는 System-> Renderer순으로


[##_kaAmo_##]
Posted by 랜스.

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Leave your greetings here.

: 1 : ... 13 : 14 : 15 : 16 : 17 : 18 :