Как определить тип установленой видеокарты с помощью D3D (комментарии)
Это сообщение сгенерировано автоматически.
Идея конечно хорошая, но на 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 директе такое уже не проканает...)))
;););)
$!№9@r
В description может не быть конкретного названия GPU. Может быть написано аля "Radeon Series", "Intel HD Family" или что-нибудь подобное.
$!№9@r
> ЗЫ.На 11 директе такое уже не проканает...)))
В DX11:
1. Получаем IDXGIDevice
2. Получаем IDXGIAdapter через GetAdapter интерфейса IDXGIDevice
3. Получаем DXGI_ADAPTER_DESC через GetDesc интерфейса IDXGIAdapter
Согласен, что лучше юзать Id.
Я не пробовал именно с видео, но в реестре должна быть информация.
Должно быть указано что является первичным видеоадаптером
Должна быть информация о том сколько видеоадаптеров
GUID для каждого
и по GUID смотреть как они называются ...
В теорию лезть лень ....
KKH
Та же беда, что и с description. Может не оказаться полного названия модели. Я пробовал разные варианта: WinAPI + Registry, DxDiag, OpenGL + GL_VENDOR. Ни один не дает 100% гарантии получения ПОЛНОГО названия видео карты. Единственный вариант - vendorID + deviceID, а потом смотреть в базе.
А как быть в случае когда имеется две видеокарты? Например на ноутбуке одна Intel а другая AMD?
Aneroun
см. GetAdapterIdentifier - первый параметр и есть номер видео в системе
правда бываюи и вертуальные адаптеры, см NVPerfHUD
TheGrayWolf
Если бы все было так просто. GetAdapterIdentifier для всех адаптеров возвращает description "Intel(R) HD Graphics Family", а установленного AMD Radeon HD 7670M для этой функции не существует.
ИМХО, в случае переключаемой графики надо работать через нативное АПИ, что бы активировать нужную. Правда хез как это сделать. Не пробовал еще. Где-то читал (кажется на сайте НВ), что надо через нативное АПИ добавить свое приложение в профили и видео карта сама переключится. Но как-то мне этот способ не очень нравится.
DeadMeat
Да активировать не обязательно. Желательно просто получить список для сбора статистики.
Тема в архиве.