2
- 兩個
IDirect3DVertexDeclaration9
函數FindNextValidTechnique()
分配的對象被釋放但不被銷燬。在PIX中,狀態「App Refs」爲「0」,但狀態「Destruction」爲「Never」。 - 一個
IDirect3DIndexBuffer9
由應用程序分配的對象被釋放但不被銷燬。在PIX中,狀態「App Refs」爲「0」,但狀態「Destruction」爲「Never」。在我調用函數SetIndices(NULL)
後,索引緩衝區的內存泄漏消失。 - 由功能
D3DXCreateEffect()
分配的對象IDirect3DVertexShader9
和IDirect3DPixelShader9
被釋放但不被銷燬。在PIX中,狀態「App Refs」爲「0」,但狀態「Destruction」爲「Never」。但是,在撥打SetVertexShader(NULL)
和SetPixelShader(NULL)
後,兩者的內存泄漏消失了。 - 一個
IDirect3DSwapChain9
分配了功能CreateAdditionalSwapChain()
的對象被釋放但不被銷燬。GetBackBuffer()
曾經被稱爲,但Surface後來發佈。在PIX中,它們的狀態「App Refs」爲「0」,但狀態「銷燬」爲「從不」。 - 因爲,
IDirect3DDevice9
和IDirect3D9
對象被釋放但沒有被銷燬。
我檢查了PIX和應用程序中所有對象的引用計數。他們都是0.我不知道爲什麼內存泄漏仍然發生。我不認爲SetIndices(NULL)
等是必要的。有人能給我一些建議嗎?謝謝。DX9內存泄漏:釋放()返回0,但DestroyObject不叫