В моей системе установлены две графические карты: Quadro FX 1500, поддерживающий DirectX 9 и Quadro 600, поддерживающий до DirectX 11. Я пишу приложение C# (используя библиотеку обложек SharpDX) против DirectX 11, поэтому я хочу убедиться, что я всегда выбираю Quadro 600 в качестве своего устройства. Будет ли DirectX 11 выбирать правильное устройство/графическую карту по умолчанию, или если нет, есть ли способ перечислить устройства в моей системе и выбрать тот, который поддерживает DirectX 11?Как выбрать конкретное графическое устройство в SharpDX/DirectX 11?
Сейчас мое устройство код инициализации выглядит следующим образом:
//which device do we get?
SharpDX.Direct3D11.Device defaultDevice = new SharpDX.Direct3D11.Device(DriverType.Hardware, DeviceCreationFlags.Debug);
Спасибо!
Я подтвердил, что устройство использует набор функций 9.3 (через «SharpDX.Direct3D11.Device.GetSupportedFeatureLevel()»), поэтому устройство по умолчанию должно быть FX 1500. Тем не менее, вы не знаете, как исправить это. – artisticdude
Да, но вы можете сделать это через DXGI, а не DirectX, посмотрите здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspx под «Перечислить адаптеры» –