есть ответ о DirectX11, но DirectX9 отличается.
Первый параметр IDirect3D9::CreateDevice и IDirect3D9Ex::CreateDevice равен UINT Adapter
, это должно быть число от 0 до единицы меньше, чем результат IDirect3D::GetAdapterCount.
но GetAdapterCount возвращает 1
, даже у моего ноутбука две видеокарты (одна Intel HD Graphics 3000, другая AMD HD7400M)
Я могу получить вторую видеокарту с помощью IDXGIFactory::EnumAdapters в DirectX11, так как я могу получить ее в DirectX 9?
IDIrect3D::GetAdapterIdentifier
, чтобы выяснить, какой адаптер в вашей системе не выполняет перечисление, а затем проверьте эти настройки и драйверы. - person Chuck Walbourn   schedule 25.08.2014DxCapsViewer
в Windows 8.x SDK (входит в состав VS 2012 или VS 2013) или устаревший DirectX SDK, чтобы увидеть, отображается ли устройство в разделе «Устройства DXGI», но не отображается в разделе «Устройства Direct3D 9». Также имейте в виду, что концепция адаптера в Direct3D 9 немного отличается от концепции DXGI: один физический графический процессор с двумя мониторами — это 2 адаптера в Direct3D 9, но один адаптер с 2 выходами в DXGI. - person Chuck Walbourn   schedule 25.08.2014