我有這款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