2017-02-15 25 views
4

Я хотел бы узнать имя модели видеокарты в OpenGL или в Win32 cuz У меня ошибка утечки памяти на определенном виде графической карты (только Intel HD не все Intel).Как получить имя модели видеокарты в OpenGL или Win32?

Это ошибка: https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/280679

Поставщик Имя в OpenGL не достаточно. Кто-нибудь знает способ получить название графической карты, отличную от использования Direct3D? Или вы думаете, что я могу использовать D3D и OpenGL вместе? Get the graphics card model?

+0

Безопасный способ определения установленного типа GPU - это прямое перечисление аппаратного обеспечения. В Linux вы либо вызываете 'lspci', либо разбираете его вывод или траверсу'/sys/bus/pci/devices/* ', ища все устройства, принадлежащие классу' 0x030000' (графические контроллеры). Мой Google-Fu не помог мне найти подходящие API для этого на современных машинах Windows. Это, безусловно, не входит в состав Win32 API и меняется с каждым ударом модели программирования драйверов Windows. – datenwolf

+2

Этот метод не является надежным, так как не гарантируется, что установленное устройство используется приложением и в запрошенном контексте. Проблемы с драйверами или программные переключатели могут помешать этому. И довольно часто на ноутбуках с более чем одной видеокарт установлена ​​мощная карта, но не используется. – OutOfBound

+0

Несвязанный, но uhhhhh .... сделал два человека на форуме форума Intel, на самом деле тратить время, чтобы попытаться помочь бот-симу? –

ответ

4

Вы можете получить всю информацию через OpenGL Api.

https://www.khronos.org/opengl/wiki/Get_Context_Info

const GLubyte* vendor = glGetString​(GL_VENDOR); // Returns the vendor 
const GLubyte* renderer = glGetString​(GL_RENDERER); // Returns a hint to the model 

В моем случае рендерер возвращает следующую строку: "GeForce GT 750M/PCIe/SSE2"

Я не знаю, что было бы вернуться на Intel или Amd карты. Насколько мне известно, формат строки и ее содержимого зависит от реализации.

+0

У меня нет видеокарты здесь. Я проверю его на следующей неделе! –

+0

Вы пробовали? Мне интересно, как это получается на картах NVIDIA. – OutOfBound

+1

Я попробовал на видеокарте Intel hd, и у меня есть glrender = "Intel HD что-то" –

 Смежные вопросы

  • Нет связанных вопросов^_^