ビデオを作成するためにキャプチャして画面にレンダリングしている一連のjpg画像があります。
JpegBitmapDecoderを使用してMemoryStreamから画像を解凍し、ImageコントロールでSourceを設定してレンダリングしています。これは問題なく機能しているようですが、プロセッサのオーバーヘッドはかなり高くなっています。画像は1280x720で、30 fpsで実行されており、コンピューター(Dual Core 2.8Ghz)についていくことはほとんどできません。より高い解像度で実行すると、フレームが破棄されます。CPU使用率を下げてみたいと思います。
費やされた時間のほとんどはデコードに費やされているようです(私のマシンでのデコードだけの単純なベンチマークは、約40fpsをデコードできることを示しています)。より高速なデコーダーが利用可能かどうか誰かが知っていますか(DirectX?DirectShow?ビデオカードにオフロードできるものはありますか?)
レンダリングに関しては、Imageコントロールがこのタイプの使用のために設計されているようには見えません(実際には、それがまったく機能することに驚きました。簡単だったので試してみました)。より高速な個々のフレームをレンダリングする別の方法はありますか?