WPF で MediaElement コントロールを使用してビデオを再生しようとしています。Vista では問題なく動作しますが、XP マシンで実行すると、ディスプレイが裂けてしまいます。垂直同期を使用しておらず、描画中に画面を更新しているように見えます。
誰でもこの問題を解決する方法を知っていますか?
WPF で MediaElement コントロールを使用してビデオを再生しようとしています。Vista では問題なく動作しますが、XP マシンで実行すると、ディスプレイが裂けてしまいます。垂直同期を使用しておらず、描画中に画面を更新しているように見えます。
誰でもこの問題を解決する方法を知っていますか?
これは、Vista と比較して、XP での WPF の画面へのレンダリング方法に関係しています。Vista では、アプリはオフスクリーン バッファにレンダリングされます。このバッファは、変更された他のウィンドウと合成され、DWM.exe と呼ばれるプロセスによって適切な間隔で画面に表示されます。これにより、WPF のウィンドウの更新を、更新間隔と同期したビデオ バッファーに表示できます (おそらく表示されます)。
XP では、WPF は DirextX を使用して画面に直接レンダリングし、必要に応じてビデオ バッファーを更新します。更新間隔と同期させる方法はあるのかもしれませんが、XPはもう使わないので調べていません。