Windows 実装 (DirectX 11) と Linux での Wine 実装では、DirectX の興味深い動作が異なります。
それが Wine の実装のバグなのか、プログラムのバグなのかを判断するために、「Windows で動作する」以外は何も見つけられなかったので、この動作が正確にどこに文書化されているかを知りたいです。
説明は次のとおりです。DirectX を使用してウィンドウに描画する場合、このウィンドウの表示可能な子ウィンドウはすべて塗りつぶされないようです。例として、DirectX SDK のサンプルの MeshViewer を次に示します。
http://imageshack.us/photo/my-images/264/unbenannt2nf3.jpg/
(メイン ウィンドウのハンドルはhDeviceWindow
、現在のパラメーターのとして渡されますCreateDevice
。) ツールバーとステータス バーは Windows では表示されますが、Wine では DirectX サーフェスによって隠されます。
ウィンドウのクライアント領域のサイズの DirectX サーフェスを作成し、ペイントする領域を決定するために DirectX に依存するツールバーを備えた別のアプリケーションでも、この動作を観察しました。興味深いことに、ツールバーはフレームごとに DirectX サーフェスにペイントされていないようです (ツールバーの Paint ハンドラにブレークポイントを設定しました)。最初にそれらを塗りつぶします。
それは正しいですか? はいの場合、それはどこに文書化されていますか?