是否有一种标准方法可以获取 GPU 上的当前负载?我正在寻找类似于显示 CPU% 的任务管理器的内容。GPU-Z 等实用程序显示了这个值,但我不确定它是如何得到这个值的。我目前对 AMD 显卡特别感兴趣,任何指针都会有所帮助。
如果没有干净的 API 方法,是否有任何程序可以捕获其输出以获取此信息?
对于 AMD/ATI 卡,请查看 GPU PerfStudio。 http://developer.amd.com/gpu/Pages/default.aspx
对于 NVidia 卡,请查看 PerfHUD。 http://developer.nvidia.com/object/nvperfhud_home.html
MS 的 DirectX SDK 中还有一个更通用的工具,称为 Pix,它与这些工具部分重叠。
AFAIK 没有办法获得像 GPU 使用百分比这样简单的东西,因为它不是那么简单。但这些工具将有助于调试和分析 GPU 中正在发生的事情。ATI 和 NVidia 都提供公共文档,其中包含查找和修复特定类型的 GPU 瓶颈的推荐步骤。
试试 nvidia-smi -a。它附带 nvidia 驱动程序。提供当前 GPU 核心和内存利用率信息。
nvidia --help 获取完整的帮助信息。
此类信息始终通过 PerformanceCounter 或 WMI 提供。使用 Perfmon.exe 或下载 WmiCodeCreator 找出卡制造商提供的内容。也许不用说,这种代码不能很好地从一台机器移植到另一台机器。