g***@googlemail.com
2009-06-07 13:36:51 UTC
I am trying to write a graphics engine which uses managed directx and
I have noticed it seems to leak memory like a sieve.
I am confused since managed directx is managed (clue in the name) so
shouldn't it free all its unmanaged resources when my application
terminates? I haven't personally allocated any unmanaged resources,
so when the directx managed classes are finalized they should dispose
and tidy up anything I missed, right?
Viewing the DX debug outputs gives me :
[2968] Direct3D9: (INFO) :MemFini!
[2968] Direct3D9: (WARN) :Memory still allocated! Alloc count = 97
...
[2968] Direct3D9: (WARN) :Total Memory Unfreed From Current Process =
698771 bytes
An after i run my engine a few hundred times in unit tests it busts
DirectX so nothing can use it until a reboot is performed...
What am I missing?
Thanks, G
I have noticed it seems to leak memory like a sieve.
I am confused since managed directx is managed (clue in the name) so
shouldn't it free all its unmanaged resources when my application
terminates? I haven't personally allocated any unmanaged resources,
so when the directx managed classes are finalized they should dispose
and tidy up anything I missed, right?
Viewing the DX debug outputs gives me :
[2968] Direct3D9: (INFO) :MemFini!
[2968] Direct3D9: (WARN) :Memory still allocated! Alloc count = 97
...
[2968] Direct3D9: (WARN) :Total Memory Unfreed From Current Process =
698771 bytes
An after i run my engine a few hundred times in unit tests it busts
DirectX so nothing can use it until a reboot is performed...
What am I missing?
Thanks, G