[英]Full screen Direct3D9 device only displays at native resolution when second monitor is plugged in
使用單個監視器,我的程序可以在窗口模式和全屏模式下運行(使用從EnumAdapterModes中選擇的任何分辨率),但是當我插入第二個監視器(運行相同的代碼)時,我可以從EnumAdapterModes以任何分辨率創建全屏設備,但它只能以原始分辨率(1600 x 900)來顯示場景,否則屏幕只是黑色,這是下面列出的其他問題。
到目前為止,我發現了什么:
問題似乎與Direct3D9運行時創建的后台緩沖區有關,但我唯一能想到的解決方案是在具有多個監視器的設備上強制采用多頭模式,有什么想法嗎?
這個問題似乎也存在相同的問題,但缺乏解決方案: 如何以與顯示器不同的分辨率渲染全屏框架?
終於弄清楚了,似乎是Windows Vista和更高版本中的驅動程序錯誤,並使用Direct3D9Ex修復了該問題。
我不想使用Direct3D9Ex,因為它只是在Windows Vista上引入的,並且我希望至少支持Windows XP,但是MSDN上有一些示例代碼說明了如何支持這兩種,所以都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.