Directx IDXGIFactory::EnumAdapters()不返回任何适配器
我正在开发一个DirectX11应用程序。在初始化过程中,我按说明枚举可用的图形适配器 现在,对于我们的一个客户,可用适配器的数量似乎为零:Directx IDXGIFactory::EnumAdapters()不返回任何适配器,directx,directx-11,sharpdx,dxgi,Directx,Directx 11,Sharpdx,Dxgi,我正在开发一个DirectX11应用程序。在初始化过程中,我按说明枚举可用的图形适配器 现在,对于我们的一个客户,可用适配器的数量似乎为零: EnumAdapters(0,&pAdapter)已返回DXGI\u错误\u未找到 这怎么可能?是否应该始终至少有一个图形适配器可用? 电脑有一个安装了最新驱动程序的图形卡,显示器工作正常 注意:我们的应用程序实际上使用了SharpDX,但过程是相同的。失败的等价物是GetAdapterCount()返回0我将回答我自己的问题: 事实证明,由于另一个不相关
EnumAdapters(0,&pAdapter)
已返回DXGI\u错误\u未找到
这怎么可能?是否应该始终至少有一个图形适配器可用?
电脑有一个安装了最新驱动程序的图形卡,显示器工作正常
注意:我们的应用程序实际上使用了SharpDX,但过程是相同的。失败的等价物是
GetAdapterCount()
返回0
我将回答我自己的问题:
事实证明,由于另一个不相关的问题,当我们的客户试图以安全模式运行我们的应用程序时,出现了这个问题。在安全模式下,图形驱动程序不会加载,因此不会有任何适配器。请注意,在Windows 8.x中,您将在“安全模式”下获得“Microsoft Basic Renderer”适配器,它本质上是WARP+传统VGA输出驱动程序。请参阅此处了解一些含义。您是通过
IDXGIFactory
还是通过IDXGIFactory1
?SharpDX.DXGI.Factory
执行此操作,它在内部使用IDXGIFactory
。这两者之间的区别是什么?我不知道,这是一个奇怪的问题,我想知道这个失败的系统是否不支持后面的接口,只是猜测而已。我不明白为什么它不适用于适配器零。您仍然可以在该适配器上创建设备并显示ok吗?我甚至无法创建设备,因为没有可以创建设备的适配器。是的,我们的应用程序不支持XP。我一有答案就回来找你。谢谢你迄今为止的帮助+1-这对于任何看到相同问题的人来说都是有用的信息。