我有一个测试,显示我的应用程序中的内存泄漏:
RAM使用量每次迭代增加30-40MB,分析器显示它在外部代码中。
在迭代之间,我关闭并重新创建D3D设备。当我停止这样做并仅使设备保持活动状态时,它就变得很好了:
唯一的区别是2个接口指针:ID3D11Device
和IMFDXGIDeviceManager
。
是否有办法关闭D3D设备,使其释放内存而不泄漏?
据我了解,如果我将资源指针泄漏到某处,它将继续在旧设备上泄漏。这是否意味着问题出在Windows 10中,而不是我的代码中?目前,我显然可以使设备保持活动状态,但理想情况下,我希望采用一种方法来执行干净关机。