我有一个问题,当应用程序关闭时,Device.Dispose()需要很长时间才能执行。我正在调查这是否是由于未管理的对象未被正确释放而导致清理时间过长。
是否有一种简单的方法来跟踪或查看已分配的非托管DirectX对象?
答案 0 :(得分:1)
我找到了一种方法来跟踪对DirectX的所有调用。
下载并安装DirectX SDK(我安装了2009年8月)。
在DirectX SDK中运行名为 PIX for Windows 的应用程序 - > DirectX实用工具
从“文件”菜单中创建一个新实验。选择“可重播的Direct3D呼叫流,保存到文件:”,输入文件名并选择您的应用程序。
当您退出应用程序时,所有DirectX调用的完整跟踪将显示完整的时间轴。