D3DImage:显示字节数组的位图

时间:2013-08-21 09:56:24

标签: c# wpf d3dimage

我在数组中有原始位图数据(像素颜色,32位)。 有没有一种简单的方法在D3DImage上显示这样的“精灵”? 最好不使用第三方库(如SharpDX)。

背景: 我有来自非托管DLL的原始位图帧,我需要在WPF中以高帧率/低CPU使用率显示它们。到目前为止,我已经尝试过WriteableBitmap和InteropBitmap,但是它们太慢了(我在最大化窗口(1680x1050显示),Core i5上得到~110 fps;这只是一个填充内存的简单测试。我相信现代计算机应该在不使用100%CPU核心时间的情况下更快地完成这项工作)。 我也在看VideoRendererElement(Displaying live video from a raw uncompressed byte source in C#: WPF vs. Win forms),但这有点过于复杂(涉及非托管dll,regsvr32注册等)。

正如我从D3DImage示例中看到的那样,它在不对CPU造成压力的情况下实现了良好的帧率。我想知道是否可以将它用于位图显示。

UPD: 我发现了这个:http://www.codeproject.com/Articles/113991/Using-Direct2D-with-WPF

这基本上就是我想要的。我已将它插入到我的项目中,它与InteropBitmap相当,甚至有点慢。看起来内存性能是我的一个瓶颈。在这两种情况下,大部分时间花在复制位图上(我使用非托管memcpy)。

0 个答案:

没有答案