我有一个需要执行快速图像渲染的项目。
目前,我使用图像控制并禁用拉伸。更新由计时器进行,通过设置Source属性。
WriteableBitmap frame = Player.Get().GetFrame();
if (frame != null)
image.Source = frame;
这部分成为性能瓶颈。更清楚的是image.Source = frame是一个瓶颈。
我查看了MediaElement,但它不适用。
有没有办法更快地执行它?
也许是GDI BitBlt或类似的一些方法?
提前致谢。
答案 0 :(得分:1)
你不会从WPF中获得太多性能。甚至MediaElement也无法正确处理高清视频,没有闪烁和滞后。
使用WindowsFormsHost标记在WPF应用程序中托管WinForms元素,如果要使用GDI,则在那里进行blitting。虽然GDI主要是基于软件的,但您可能需要查看DirectX或GDI +。
答案 1 :(得分:1)
如果你真的需要性能,最好的办法就是为bitblt编写一个小包装器。
也许这两篇文章可以帮助你: