详细介绍GPU内存使用情况

时间:2014-08-26 01:08:27

标签: memory gpu profiler direct3d

因此,在我的应用程序的某些情况下,我有GPU内存泄漏。但是,我不知道GPU的任何详细的内存分析器,如CPU的内存分析器。那里有什么可以达到这个目的吗?我正在使用D3D(因为它的WPF,有d3d9,d3d10,d3d11组件......)

谢谢!

2 个答案:

答案 0 :(得分:0)

您是否在Dx控制面板中使用调试设置?这有助于您转储泄漏分配的ID。然后,您可以继续设置HKLM注册表值并中断泄漏分配,如下所述:

http://legalizeadulthood.wordpress.com/2009/06/28/direct3d-programming-tip-5-use-the-debug-runtime/

http://www.gamedev.net/topic/313718-tracking-down-a-directx-leak/

您也可以尝试使用NSight,您可以从NVidia免费下载。对于Maximus卡,还有一个特定的GPU调试器,否则您可以使用图形调试器并尝试隔离那里的内存。在性能调试器中,您可以检测OpenGl和DirectX事件,但这更加注重性能。

答案 1 :(得分:0)

取决于您的GPU供应商(由于您尚未向我们提供信息),以下是可能的解决方案:

英特尔:使用英特尔媒体SDK的GPU利用率实用程序。这包含在英特尔INDE(集成开发环境)中。

AMD:CodeXL提供了即时调试器和广泛的内存分析工具,现在作为GPUOPen计划的一部分提供。

NVIDIA:使用Nvidia Visual Profiler(NVVP)和Nvidia Nsight的跟踪,这些实用程序随标准Nvidia CUDA安装程序一起提供。

注意:

  1. 使用Nvidia,您还必须安装提供的GPU驱动程序(来自CUDA SDK)以启用任何形式的基于GPU的驱动程序分析和调试。如果您将开发平台用于其他目的(如游戏),请注意上述限制,因为捆绑的驱动程序通常比股票,游戏就绪驱动程序更老​​,更长。
  2. 谢谢和问候,

    Brainiarc7。