【发布时间】:2016-07-11 17:14:52
【问题描述】:
我的系统安装了两个显卡:一个 Quadro FX 1500,最高支持 DirectX 9,一个 Quadro 600,最高支持 DirectX 11。我正在编写一个 C# 应用程序(使用 SharpDX 包装库) DirectX 11,因此我想确保始终选择 Quadro 600 作为我的设备。 DirectX 11 会默认选择正确的设备/显卡吗?如果没有,有没有办法可以枚举系统上的设备并选择支持 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。但是仍然不知道如何更正。 -
是的,但是您可以通过 DXGI 而不是 DirectX 来执行此操作,请看这里:msdn.microsoft.com/en-us/library/windows/desktop/… under "Enumerate Adapters"
标签: c# directx directx-11 sharpdx