5MPデジタルカメラからのライブ画像を継続的に表示するこのWPFアプリがあります。画像は最初にバイト配列からビットマップソースに変換され、次に画像コントロールに表示されます。
m_imageControl.Source = MyBitMapSource;
ストリーミング中のCPU使用率は約30〜35%でした。「RenderCapability.Tier>>16」は「Tier2」を示しているので、私のシステムは適切であると思います。WPFはハードウェアレンダリングを可能な限り利用しようとします。
興味深いことに、ソフトウェアのレンダリングが以下を使用して強制された場合:
RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;
CPU使用率は約25%に低下し、アプリは同じ表示フレームレートを報告しました(パフォーマンスへの影響はありません)。
ハードウェアレンダリングはソフトウェアレンダリングよりも優れたパフォーマンス(CPUが少ない)を提供するはずだと思ったので、この結果に戸惑いました。誰かがこれに光を当てることができますか?
私のシステム設定は次のとおりです。
- OS:Windows764ビットUtimate
- CPU:Inteli3530クアッドコア2.93HGhz
- ビデオカード:NVIDIA GeForce GT5201G専用RAM
- ビデオカードドライバ:NVIDIA8.17.12.95732012年9月2日