7

我正在使用 WPF MediaElement 在应用程序中呈现高清视频。当 MediaElement 的大小超过大约 300 平方单位时,视频会卡顿,并且计算机几乎完全没有响应。我需要全屏渲染视频。

有没有人使用 WPF MediaElement 成功渲染全屏视频?

使用的计算机的处理器/视频规格是什么?

有没有更好的方法在 WPF 应用程序中显示视频?

编辑:
蒂莫西: 我需要能够将文本或其他元素放在图形上,所以我认为托管 WMP 已经过时了。

目前我没有做任何图层或不透明度/透明度。

我目前在 XP 中运行。我希望能够在 Vista 和 XP 中运行该应用程序。

Mike: 在回来查看这篇文章之前,我正在阅读 MSDN 论坛上的一些 Jeremiah Morrill 的文章。我找到了去他的一些图书馆的路,并将对其进行测试。谢谢。

更新:

看来问题出在我的开发机器上。在测试机器上一切正常。我的开发机器是双头的,带有 2 个 1650x1080 CRT,带有 ATI Radon X1650 系列卡和 256MB 内存。

使用 WPF perfmon 工具时,它表明一切都是硬件渲染的,但性能很差。现在我将继续使用它,因为我知道代码在我们分发它的机器上运行良好。在未来的某个时候,我将尝试深入研究为什么它在我的开发机器上表现如此糟糕。(所有机器都是XP)。

感谢所有的建议。

4

6 回答 6

1

Jeremiah Morrill 最近发布了一个专门的 WPF 库,支持显示高清媒体(以及其他功能)

于 2008-09-29T20:34:49.673 回答
0

我认为这只是 Windows XP 中的一个问题。似乎视频播放没有随着 vsync 更新。因此,它会随时更新屏幕。在 Vista 中,WPF 的视频渲染更智能一些。

于 2009-01-13T12:06:19.760 回答
0

您的高清视频的分辨率/格式是什么?

我在双核 2.6ghz 全屏上完成了 720p WMV,没有任何问题,但里面有 NVidia 9800GXT。仅 WMP 中高清视频的 CPU 使用率是多少?请记住,在 WPF 中呈现任何内容都会产生一些开销。因此,如果您正在运行接近 100% 的 CPU,则渲染到 WPF 可能足以将其设置完毕。此外,如果您的 GPU 太慢,您可能还会遇到断断续续的视频。

-耶利米

于 2008-10-01T17:10:10.743 回答
0

它肯定似乎无法正常工作。可能是测试其他层的不透明度太慢了。您是否尝试过在 Aero 关闭的情况下运行测试?

有人建议托管 Windows Media Player 可能是要走的路。

演练:使用 XAML 在 Windows Presentation Foundation 中托管 ActiveX 控件

于 2008-09-29T20:54:05.620 回答
0

老线程,但只是想分享我自己的经验。我的猜测是您的分配机是单显示器。我曾经在我的笔记本电脑上安装了第二台显示器,发现视频的前几秒是不可见的,然后是令人震惊的视频。删除并禁用附加监视器解决了问题。我看到更多关于媒体元素在双显示器环境中出现问题的报道。

于 2010-10-13T13:41:30.353 回答
0

使用正确的vsync应该可以解决问题,不一定与wpf和vista有关。一些 ATI 卡带有默认关闭 vsync 选项的图形驱动程序。希望这可以帮助。

于 2009-11-10T21:34:50.293 回答