Программно получить использование графического процессора - PullRequest
10 голосов
/ 29 января 2010

Существует ли стандартный способ получения текущей нагрузки на графический процессор? Я ищу что-то похожее на диспетчер задач, показывая CPU%. Утилиты, такие как GPU-Z, показывают это значение, но я не уверен, как это получается. Я особенно интересуюсь видеокартами AMD в данный момент, любые указатели были бы полезны.

Если нет чистого API-способа сделать это, есть ли программы, чей вывод я могу записать, чтобы получить эту информацию?

Ответы [ 3 ]

5 голосов
/ 29 января 2010

Для карт AMD / ATI проверьте GPU PerfStudio. http://developer.amd.com/gpu/Pages/default.aspx

Для карт NVidia смотрите PerfHUD. http://developer.nvidia.com/object/nvperfhud_home.html

В DirectX SDK от MS также имеется более общий инструмент Pix, который частично перекрывается этими инструментами.

AFAIK, нет способа получить что-то столь же простое, как число% -use для GPU, потому что это не так просто. Но эти инструменты помогут в отладке и профилировании того, что происходит в GPU. И ATI, и NVidia предоставляют общедоступную документацию с рекомендациями по поиску и устранению определенных типов узких мест графического процессора.

4 голосов
/ 23 февраля 2011

Попробуйте nvidia-smi -a. Поставляется с драйверами NVIDIA. Предоставляет информацию о ядре графического процессора и использовании памяти.

nvidia --help для полной справочной информации.

1 голос
/ 29 января 2010

Информация такого рода всегда предоставляется либо через PerformanceCounter, либо через WMI. Используйте Perfmon.exe или загрузите WmiCodeCreator, чтобы узнать, что предоставил производитель карты. Возможно, излишне говорить, что этот вид кода плохо переносится с одной машины на другую.

...