3

高速な画像レンダリングを実行する必要があるプロジェクトがあります。

現在、ストレッチを無効にしてイメージコントロールを使用しています。更新は、Source プロパティを設定することにより、タイマーによって行われます。

WriteableBitmap frame = Player.Get().GetFrame();
if (frame != null)
     image.Source = frame;

この部分がパフォーマンスのボトルネックになります。もっとくっきりイメージ。ソース=フレームがボトルネック。

MediaElement を見ましたが、該当しません。

より速く実行する方法はありますか?

おそらく、GDI BitBlt などのような方法でしょうか。

前もって感謝します。

4

2 に答える 2

1

WPF からはあまりパフォーマンスが得られません。MediaElement でさえ、ちらつきや遅延なしに HD ビデオを正しく処理することはできません。

WindowsFormsHost タグを使用して WPF アプリケーションで WinForms 要素をホストし、GDI を使用する場合はそこでブリットを実行します。GDI は主にソフトウェア ベースですが、DirectX や GDI+ も試してみてください。

于 2013-04-22T18:15:36.377 に答える
1

本当にパフォーマンスが必要な場合は、おそらく bitblt 用の小さなラッパーを作成することをお勧めします。

おそらく、次の 2 つの記事が役に立ちます。

BitBlt ドット ネット スタイル

BitBlt を使用してグラフィックをコピーして貼り付ける

于 2013-04-22T18:34:53.583 に答える