在C#中的平滑视频呈现#

在C#中的平滑视频呈现#

问题描述:

我想找到一种方法来呈现WPF中使用比MediaElement更低的CPU使用率的视频。 目标是在C++编程中使用Direct3D/DirectDraw视频渲染来实现平滑和低CPU视频回放。在C#中的平滑视频呈现#

我尝试Direct2D(与WindowsAPICodePack)呈现视频,并且结果是CPU使用率相当低,但问题是我没有办法平滑呈现视频,因为没有准确的计时器来更新视频在准确的时间DirectX在C++中。

也许我需要回到C++世界本地使用Direct3D,并在C#WPF窗口中使用DirectX窗口托管C++。即使我不知道会发生什么,我想可能值得尝试。

如果你们有任何建议,请让我知道。

你可以尝试写一个小XNA应用呈现视频和embed that into your winform

+0

感谢阿德里安,我尝试了一些你的建议。然后,最后我用Direct3D w/C++将视频渲染到Win32窗口并嵌入到WPF窗口中。它非常流畅且CPU使用率低。看起来没有办法在确切的时间更新每一帧,以匹配C#中的实际帧速率。由于帧速率是固定的,与视频游戏等实时渲染图片不同,因此视频不平滑。再次感谢您的好建议。 =) – Aki24x 2011-02-06 08:39:36