2013-03-15 40 views
0

我正在开发一个需要两个全屏Direct3D显示器的程序。根据documentation我应该在窗口模式下创建交换链,然后切换到全屏模式。虽然这在Windows 8上正常工作(目前我只是使用Alt-Enter来完成切换),但它在Windows 7上无法正常工作。在Windows 7上,我遇到类似于this issue的问题,其中最近切换过的屏幕到全屏工作正常,但其他屏幕,这是以前工作在全屏很好,变黑(并保持在同一个全屏幕分辨率),直到我把它从全屏。Windows 7上的DXGI和2+全屏显示器

你可以在this tag找到我的粗糙原型的混乱。

过去显然有other bugs relating specifically to Windows 7 ......但我似乎遇到了稍有不同的问题。

另外,我还尝试禁用DWM组成像在链接的问题的建议,但没有做任何事情来解决这个问题..

请让我知道,如果有任何我可以提供有关该问题的详细信息...我想最糟糕的情况是我简单地回落在DX9上,这显然适用于多显示器全屏设置...

回答

0

我想我可能已经找出了问题的原因:这可能是因为我为同一个适配器创建了多个ID3D11Device。

我的代码对于我所需要的过于复杂,因为我遵循this article中介绍的技术,当我真的不需要任何东西比单个线程适用于所有窗口和渲染。在为每个渲染目标共享相同的ID3D10设备(每个输出一个渲染目标,每个适配器一个ID3D10设备)之后,我已经成功获得了带有DX10的DXGI,呈现了两个全屏显示,如我的rough memory-leaking proof of concept所示。

既然这是我第一次使用这个技术,我用这篇文章来帮助我一起这个过程:Display Different images per monitor directX 10