Я написал тестовое приложение (http://www.headline-benchmark.com), которое оценивает графические карты, но моя проблема заключается в том, что я получаю имя графической карты из API OpenGL, используя GL_STRING. Для карт NVidia это отлично работает, но для карт AMD я получаю бесполезное название, например «R9 200 Series», которое отображает (в настоящее время) четыре совершенно разных видеокарты.Метод получения информации о GPU для OS или API OpenGL
Я попытался использовать API OpenCL, чтобы получить дополнительную информацию о карте (например, общее количество вычислительных единиц), поскольку я могу использовать это, чтобы устранить карты AMD, но OpenCL склонен к сбою в старых системах, поэтому я бы предпочел избегай это. Есть ли какая-либо особенность API OpenGL, которую я могу использовать, что даст мне более подробную информацию о карточках? Или действительно ли AMD предоставляет какие-либо диагностические утилиты командной строки, которые я мог бы использовать?
Это очень информативно ... Тем не менее, я использую Java, и это действительно усложнит мою сборку, поскольку мне нужно будет создавать собственные двоичные коды кода на платформе, которую я поддерживаю. Кроме того, я стараюсь избегать патентованных API. Кстати, информация о olny, которая мне нужна, - это имя GPU (я могу получить «Radeon R9 200 Series» от OpenGL, но мне нужно получить «Radeon R9 290X»). У Catalyst Control Center есть командная строка - кажется, но я не могу найти для нее никакой документации. – Ags1
@ Ags1: Я вернулся через свою кодовую базу и помнил, что есть также расширения: «GLX_AMD_gpu_association» и «WGL_AMD_gpu_association», они были изначально предназначены для того, чтобы вы могли выбрать конкретный графический процессор в многопроцессорной системе для рендеринга, но в порядке Чтобы поддержать это, им пришлось создать более сложную систему для определения графических процессоров. Поэтому они создали 'glXGetGPUInfo' и' wglGetGPUInfo'. –
Спасибо, это похоже на API, специфичный для AMD, который мне нужен. Но почему AMD просто не предоставляет правильную информацию заранее в обычных GL_STRING? – Ags1