현재 DirectX를 사용하는 C++ 게임을 작업 중입니다. 엔진은 우리 학교의 교수가 우리에게주었습니다. 저는 엔진에서 메모리 누출을 검사했으며, 나는이 방법으로 그 엔진을 추적했다고 생각합니다. 시작하려면, 호출되지도 않았고 이제는 DirectX에서로드 된 텍스처를 완전히 삭제하고 정리하는 올바른 방법인지 불확실합니다. 여기 C++에서 DirectX 텍스처 정리
이 방법은TextureManager
에 호출되고 : 텍스처 부분 모두에 대해서
이
void DirectXTextureManager::clear()
{
map<wchar_t*, LPDIRECT3DTEXTURE9>::iterator it;
map<wchar_t*, LPDIRECT3DTEXTURE9>::iterator itToErase;
it = textures->begin();
while (it != textures->end())
{
wchar_t *keyToDelete = (*it).first;
LPDIRECT3DTEXTURE9 textureToDelete = (*it).second;
itToErase = it;
it++;
textures->erase(itToErase);
delete keyToDelete;
textureToDelete->Release();
textureToDelete = NULL;
}
stringTable->emptyStringTable();
}
나는 아마도 그것도 emptyStringTable()에 대한 호출과 관련이 있다고 생각한다. – twsaef