2

我正在尝试使用 WPF 中的 MediaElement 控件来播放视频。它在 Vista 中运行良好,但是当我在 XP 机器上运行它时,我的显示会撕裂。看起来好像它没有使用垂直同步,只是更新屏幕中间绘制。

有谁知道如何解决这个问题?

4

1 回答 1

2

与 Vista 相比,这更多地与 WPF 在 XP 下呈现到屏幕的方式有关。在 Vista 下,应用程序呈现到屏幕外缓冲区,然后与已更改的其他窗口合成,并由名为 DWM.exe 的进程以适当的时间间隔呈现到屏幕上。这可以(并且可能确实)将 WPF 的窗口更新呈现给与刷新间隔同步的视频缓冲区。

在 XP WPF 上,使用 DirextX 直接渲染到屏幕上,并随时更新视频缓冲区。可能有一些方法可以让它与刷新间隔同步,但我没有研究它,因为我不再使用 XP。

于 2009-01-13T18:41:39.027 回答