3

Aero が無効になっているマシンで実行する必要がある directx9 アプリケーションがあります。アプリはウィンドウ モードで実行されます。ウィンドウが最初に作成されたときは、1 つの画面内で問題なく表示されます。同じグラフィックス アダプター (および GPU) に接続された 2 つの画面にまたがるようにウィンドウを移動すると、一方の画面の領域が他方の画面の領域を反映しているように見えます。異なるグラフィックス アダプタに接続された 2 つの画面にまたがっても、問題はありません。

これは、2009 年 8 月の DirectX SDK の「チュートリアル 2: 頂点」など、標準のウィンドウ アプリで簡単に複製できます。

ウィンドウ化された OpenGL アプリケーションでも同じ問題が発生します。

Windows が Aero を有効にして実行されている場合、これは問題ではありませんが、Aero を無効にしてアプリケーションを実行する必要があります。(Aero は、実際のアプリケーションで他の問題を引き起こします。GPU で実行している処理が原因で、予期しないタイミングで独自のバックバッファーをフリップし、レンダリング スレッドで検出できない方法でディスプレイの滑らかさを台無しにします。)

nVidia Quatro 4800 グラフィックス カードを搭載した Windows Vista Enterprise x64 を実行しています。

--そして、nVidia コントロール パネルで 90 度回転した画面を使用する場合にのみ、これが問題になることに気付きました。そうですか…それで?回転した画面を使用する場合、誰かが解決策を提案できますか?

何か案は?

4

1 に答える 1

0

この情報 (回転した画面) とその他のディスプレイ関連の設定を NVAPI で取得できます (ATI に同様のものがあるかどうかはわかりません)。

オンライン ドキュメントを参照して ください。

DX10 および DX11 では、これは DXGI ( DXGI_MODE_ROTATION) を介して処理されることに注意してください。

于 2009-12-13T18:46:59.543 に答える