2

HD 解像度 (1920 x 1080) で動作する WPF を使用して構築されたタッチ スクリーン アプリケーションがあり、同じく HD のループ バックグラウンド ビデオがあります。バックグラウンド ビデオは、アプリの存続期間中実行されます。UI は "上" (z オーダー) に配置されます。ただし、UI のレンダリングがぎくしゃくして遅延しているように見えるので、このパフォーマンスを改善したいと考えています。ビデオを実行せずにアプリを実行すると、UI が期待どおりにスムーズに実行されます。UIの応答性を改善する方法を誰か提案できますか? 以下は、私のループビデオファイルの詳細です。

編集: 私が行ったいくつかの調査: 遅いコンピューターでは、ビデオと UI が遅くなります。ただし、ビデオを単独で実行すると、ビデオは非常にスムーズに実行されます。ビデオなしで UI を実行すると、非常にスムーズに実行されます。ビデオと UI を一緒に実行すると問題が発生し、どういうわけかレンダリングが遅くなります。WPFMediaKit の MediaUriElement コントロールを使用しています。Win7DSFilterTweaker を使用して Windows 7 のデフォルト デコーダを変更しようとしましたが、うまくいきませんでした。助言がありますか?

EDIT 2: ボトルネックは WPF レンダリング エンジンにあるようです。ビデオを実行すると、FPS が ~34fps に低下します。ビデオを一時停止すると、再び 60 fps で実行されます。ここで何か提案はありますか?

Video
ID                             : 0
Format                         : MPEG-4 Visual
Codec ID                       : DIV3
Codec ID/Hint                  : DivX 3 Low
Duration                       : 12s 12ms
Bit rate                       : 8 558 Kbps
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate                     : 29.970 fps
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Compression mode               : Lossy
Bits/(Pixel*Frame)             : 0.138
Stream size                    : 12.3 MiB (100%)
4

0 に答える 0