我有这款WPF应用程序可以连续显示来自500万像素数码相机的实时图像。图像从字节数组转换为第一的BitmapSource并随后被显示在一个图像控制:与硬件渲染相比,软件渲染导致CPU使用率降低
m_imageControl.Source = MyBitMapSource;
虽然流,CPU利用率为约30-35%。 “RenderCapability.Tier >> 16”表示“Tier 2”,所以我认为我的系统应该足够了,WPF会尽量利用硬件渲染。
有趣的是,如果软件渲染被迫使用:
RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;
CPU利用率下降至约25%,并应用报告显示相同的帧速率(没有性能损失)。
我对这个结果感到困惑,因为我认为硬件渲染应该比软件渲染提供更好的性能(更少的CPU)。有人可以对此有所了解吗?
我的系统设置是:
- 操作系统:Windows 7 64位Utimate
- CPU:英特尔酷睿i3 530四核2.93HGhz
- 显卡:NVIDIA公司的GeForce GT 520 1G专用RAM
- 视频卡驱动:NVIDIA 8.17.12.9573 09/02/2012
得到了我的答案[here](http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/55ad9427-5b69-4870-b5e7-94b28ed861be)。 – seekingalpha 2012-08-01 17:27:38
将你的帖子标记为已回答! (如果需要,自己创建一个答案) – Marko 2013-08-21 10:35:39