IDirect3DVertexDeclaration9
関数によって割り当てられた2 つのオブジェクトFindNextValidTechnique()
は解放されますが、破棄されません。PIX では、ステータス「App Refs」は「0」ですが、ステータス「Destruction」は「Never」です。- アプリケーションによって割り当てられた
IDirect3DIndexBuffer9
オブジェクトは解放されますが、破棄されません。PIX では、ステータス「App Refs」は「0」ですが、ステータス「Destruction」は「Never」です。関数 を呼び出した後SetIndices(NULL)
、インデックス バッファのメモリ リークがなくなりました。 - 関数によって割り当てられた
IDirect3DVertexShader9
およびオブジェクトは解放されますが、破棄されません。PIX では、ステータス「App Refs」は「0」ですが、ステータス「Destruction」は「Never」です。ただし、 と を呼び出した後、2 つのメモリ リークはなくなります。IDirect3DPixelShader9
D3DXCreateEffect()
SetVertexShader(NULL)
SetPixelShader(NULL)
IDirect3DSwapChain9
関数で割り当てられたオブジェクトCreateAdditionalSwapChain()
は解放されますが、破棄されません。GetBackBuffer()
が呼び出されることはありますが、Surface は後でリリースされます。PIX では、それらのステータス「App Refs」は「0」ですが、ステータス「Destruction」は「Never」です。- 当然、
IDirect3DDevice9
andIDirect3D9
オブジェクトは解放されますが、破棄されません。
PIX とアプリケーション内のすべてのオブジェクトの参照カウントを確認しました。どちらも 0 です。メモリ リークがまだ発生する理由はわかりません。SetIndices(NULL)
などは必要ないと思います。誰かアドバイスをくれませんか?ありがとうございました。