【发布时间】:2010-12-18 06:14:32
【问题描述】:
我有一个问题,即 Device.Dispose() 在应用程序关闭时需要很长时间才能执行。我正在调查这是否是由于未正确释放非托管对象导致清理时间过长。
是否有一种简单的方法可以跟踪或查看已分配的非托管 DirectX 对象?
【问题讨论】:
我有一个问题,即 Device.Dispose() 在应用程序关闭时需要很长时间才能执行。我正在调查这是否是由于未正确释放非托管对象导致清理时间过长。
是否有一种简单的方法可以跟踪或查看已分配的非托管 DirectX 对象?
【问题讨论】:
我找到了一种方法来跟踪对 DirectX 的所有调用。
下载并安装 DirectX SDK(我安装的是 2009 年 8 月)。
在 DirectX SDK -> DirectX Utilities 中运行名为 PIX for Windows 的应用程序
从“文件”菜单创建一个新实验。选择“可重放的 Direct3D 调用流,保存到文件:”,输入文件名并选择您的应用程序。
当您退出应用程序时,所有 DirectX 调用的完整跟踪将显示完整的时间线。
【讨论】: