跟踪通过托管 DirectX 分配的非托管 DirectX 对象

发布于 2024-08-12 07:05:01 字数 131 浏览 1 评论 0原文

我遇到一个问题,当应用程序关闭时,Device.Dispose() 需要很长时间才能执行。我正在调查这是否是由于未正确释放非托管对象从而导致清理时间过长所致。

是否有一种简单的方法可以跟踪或查看已分配的非托管 DirectX 对象?

I have a problem where Device.Dispose() is taking a long time to execute when the application is closed. I am investigating whether this is due to unmanaged objects not being freed properly thus resulting in a long cleanup time.

Is there an easy way of tracing or viewing the unmanaged DirectX objects that have been allocated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

新人笑 2024-08-19 07:05:02

我找到了一种方法来跟踪对 DirectX 的所有调用。

下载并安装DirectX SDK(我安装的是2009年8月的)。

在 DirectX SDK 中运行名为 PIX for Windows 的应用程序 -> DirectX 实用程序

从“文件”菜单创建一个新实验。选择“可重播的 Direct3D 调用流,保存到文件:”,输入文件名并选择您的应用程序。

当您退出应用程序时,将显示所有 DirectX 调用的完整跟踪以及时间线。

I've found out a way to trace all the calls made to DirectX.

Download and install the DirectX SDK (I installed the August 2009).

Run an application called PIX for Windows in the DirectX SDK -> DirectX Utilities

Create a new experiment from the File menu. Select "a replayable Direct3D call stream, saved to file:", enter a filename and select your application.

When you exit your application a complete trace of all DirectX calls will be shown complete with a timeline.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文