Войти
ПрограммированиеФорумГрафика

Как определить тип установленой видеокарты с помощью D3D (комментарии)

#0
15:25, 9 июля 2013

Как определить тип установленой видеокарты с помощью D3D (комментарии)

Это сообщение сгенерировано автоматически.

#1
15:25, 9 июля 2013

Идея конечно хорошая, но на 9 директе, я сделал проще...)))

D3DADAPTER_IDENTIFIER9 id;

m_pD3Device->GetAdapterIdentifier(D3DADAPTER_DEFAULT, D3DENUM_WHQL_LEVEL, &id);
pFontT->DrawText(NULL, id.Description, -1, NULL, DT_LEFT, 0xFE0000B4);

Ненадо сравнивать константы, а просто тупо вывести название модели на экран, через - "id.Description"...)))

ЗЫ.На 11 директе такое уже не проканает...)))

;););)

#2
18:02, 9 июля 2013

$!№9@r
В description может не быть конкретного названия GPU. Может быть написано аля "Radeon Series", "Intel HD Family" или что-нибудь подобное.

#3
19:07, 9 июля 2013

$!№9@r
> ЗЫ.На 11 директе такое уже не проканает...)))
В DX11:
1. Получаем IDXGIDevice
2. Получаем IDXGIAdapter через GetAdapter интерфейса  IDXGIDevice
3. Получаем DXGI_ADAPTER_DESC через GetDesc  интерфейса  IDXGIAdapter

Согласен, что лучше юзать Id.

#4
2:50, 10 июля 2013

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

В теорию лезть лень ....

#5
8:36, 10 июля 2013

KKH
Та же беда, что и с description. Может не оказаться полного названия модели. Я пробовал разные варианта: WinAPI + Registry, DxDiag, OpenGL + GL_VENDOR. Ни один не дает 100% гарантии получения ПОЛНОГО названия видео карты. Единственный вариант - vendorID + deviceID, а потом смотреть в базе.

#6
12:14, 10 июля 2013

А как быть в случае когда имеется две видеокарты? Например на ноутбуке одна Intel а другая AMD?

#7
13:34, 10 июля 2013

Aneroun

см. GetAdapterIdentifier - первый параметр и есть номер видео в системе

правда бываюи и вертуальные адаптеры, см NVPerfHUD

#8
14:57, 10 июля 2013

TheGrayWolf
Если бы все было так просто. GetAdapterIdentifier для всех адаптеров возвращает description "Intel(R) HD Graphics Family", а установленного AMD Radeon HD 7670M для этой функции не существует.

#9
15:26, 10 июля 2013

ИМХО, в случае переключаемой графики надо работать через нативное АПИ, что бы активировать нужную. Правда хез как это сделать. Не пробовал еще. Где-то читал (кажется на сайте НВ), что надо через нативное АПИ добавить свое приложение в профили и видео карта сама переключится. Но как-то мне этот способ не очень нравится.

#10
20:15, 13 июля 2013

DeadMeat
Да активировать не обязательно. Желательно просто получить список для сбора статистики.

ПрограммированиеФорумГрафика

Тема в архиве.