2013-03-15 75 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