Hi will, thanks for the answer.
I’m aware of IDisposable pattern, in fact I use it extensively. It’s just that sometimes a bug appears and tracking those are hard without valid tools.
I found no tool to check the problem so at the end I went with my plan and added some Debug.Writes to MonoGame. I just printed the IntPtr of the native pointer of the texture
after every SharpDX texture creation (+stack trace), and another print in the Dispose function.
Once done, it’s been just a matter of finding the IntPtrs which were not freed. It was way way easier than I thought (jftr the culprit was a RenderTarget for the shadow of a point light which flickers disabling it from the ECS. Depending on when you exited the room it was not disposed.)
Just curious, what kind of information do the MSI tool gives? From screenshots I’ve only seen the memory usage of the GPU, but I haven’t been able to find a screenshot with more information.
thanks,