私は現在、厄介な小さな問題で立ち往生しています。DXGI モードの desc をゼロにするアプリケーションを開発しました。構造体と FindClosestMatchingMode() を呼び出して、宣伝されているように、「デスクトップ解像度に引き寄せられます」。
ラップトップが独自のディスプレイで完全に実行されている場合、これは正常に機能します。別のモニターを接続するとすぐに、暴走します。デスクトップを拡張した場合でも、ラップトップ モニターの解像度は正しく取得されますが、接続されているもの (1080p を実行) では 800*480 が優先されます :) (確かに、貧乏人の 16:10 ですが...)
クローン化/結合されたモニターで同じことを行うと (結果として 1 つの出力デバイスになります)、それらの解像度が同じであっても、同じ 800*480 がらくたになります。
何を与える?また、DXGI を介してディスプレイの現在のモードを適切に取得する方法や、この問題に対するまったく異なるが機能的なアプローチへのポインターを見つけた人はいますか?
D3D9 時代は生活が楽だった =)
- アップデート
外部モニターに属する IDXGIOutput インスタンスで行われた FindClosestMatchingMode() 呼び出しは、ネイティブの解像度が同じであっても、内部ディスプレイとは異なる動作をする (ほとんどの場合は明らかに間違っている) ことが判明しました。それに加えて、他のシステムにはこの問題はありませんが、ドライバーを含めてこの特定のラップトップをサポートすることはできません.
古き良き設定ダイアログの時間です。