{{:video:queue-en.png|}}
ffdshowのキュー機能の目的はコマ落ちや映像の遅延を削減することです。 CPU負荷が高い場合やffdshowは数フレーム/秒が急落しているか、少し遅らせる効果があります。これは、ビデオレンダラ別のスレッドで実行されると、その効果の場合はPentium 4のHTまたはデュアルコアCPUが大きい。またMedia PlayerのクラシックのVMR7とVMR9モードで動作するように確認されています( renderlessモードの両方を含む) 。このような高度なオプションですが、いくつかのテストをして設定する必要があります。
このオプションはffdshowのキュー機能を可能にします。それを無効には、以下をさらに提供されている他のオプションには影響しません。
キューの安定性の問題のため、デフォルトでMedia PlayerをClassic.Ifを別のアプリケーションで、チェックボックスをオフにするか、メインの実行可能ファイルの名前を追加しようとするよりも、他のビデオアプリケーションを使用して無効になっている。各エントリはセミコロンを分離することを確認します。
このオプションは、キューの機能は、ビデオレンダラVMR9を使用するとYV12 colorspace.Please注記:一部のIntelのオンボードのビデオチップでは、キューVMR9では動作しませんYV12モードを有効にします。
上流ffdshowのフィルタ(通常はスプリッタ)から、サンプルを取得し、バッファのプロセスは、下流にフィルタによって割り当てが書いている。もしキュー '障害者 'は、ビデオレンダラはバッファしている。初期の場合でもffdshowの作業が完了すると、これは、バッファは、ビデオレンダラが占有されるまで待っている時間のタイムスタンプで指定されたのは、現在のフレームが表示されます。この期間中は、 CPU時間を浪費せずに何も。これは、キュー機能のキックです:キュー 'です 'は、下流のフィルタに複数のバッファを有効になっています。 ffdshowの作業が終了した後は、すぐに割り当てられたバッファへの書き込みがされると、キューに置きます。その後ffdshowを待っての貴重なCPUサイクルを無駄にせずに、非常に次のフレーム処理を開始します。この方法でピンチffdshowのキューを受けている場合は、いくつかの重いフレームバッファに送信して得ることができます。例のことをもっと明確にする必要があります: 30fpsの映画では、すべてのフレームを33ms以内に処理する必要があります。 10時間の連続フレームを処理するために必要と仮定すると20 、 20 、 20 、 20 、 20 、 20 、 50 、 50 、 50 、され、それぞれ50ms 。最初の6フレームの問題もなく表示されます。全体の処理時間(が20ms + 13ms ) * 6 = 198msです。キューをオフにすると、 ffdshow ( 33ms -が20ms )は、各フレームの最初の6何もしない13ms後に費やしている。第7次フレームがようやく到着すると、チャンスをしており、または遅延されることも減った。キューではその一方で有効にすると、 ffdshowが20msで、 * 6 = 120ms 、最初の6コマ、すぐに次のプロセスに、より集中的なフレームが作業を開始することができます。このようにffdshowは、スレッドはキューには、ビデオレンダラに派遣するために必要なバッファは、実際の実装time.Insideのすべてのフレームを提供することができます。このスレッドのffdshow内部に実装されていますVMR7のビデオレンダラVMR9内。ビデオレンダラの主な体はffdshowのメインスレッドと異なる場合は、スレッドの中に実行されます。
これは経験的に、最も良いのだと考えているがその効果を測定することは困難ですあなたの目と耳。気を付けてコマ落ちおよび/または遅延。十分に特定されていない場合は、両方のOSD商品"キューのサンプルを有効にする"と"ビデオ遅延"に役立つことがあります。しかし、忘れてはならないのOSD自体は数CPUサイクルを消費します。キューを使用するように複数のコアを均等に設計されていません。あなたのパフォーマンス監視ツールの中にお互いにバランスのCPUのグラフは表示されません。これは、上記記載されている無駄な待ち時間をスキップしているtimeCodec.exe とのキュー機能をベンチマーキング。
バッファの数は、 queueCount キーでは、レジストリの中に変更することができます。それに位置しています:
プリセットを使用している場合は、デフォルトの は、プリセット名を交換してください。デフォルト値は10です。の数を増やすことで、 "キューの効果"が増加します。お使いのビデオ再生散発コマ落ちおよび/または遅延し、 10日から開始するには良い値で苦しみますが、場合、ビットレートのシーン、 50の全高をカバーするために必要です。は、ビデオメモリ、ビデオカードが不安定になることも大きな値を使用します。 256MBのメモリと50の最大となるビデオカードは、次の場合、フルHD動画を再生したい。
ビデオカードによっては、ビデオドライバとアプリケーションの設定、キューproblems.Compatibility問題ATIのX1300とX1600をシリーズからいくつかのビデオカードで報告されていることがあります。キュー機能が表示されたら、無効にするにはNvidiaのビデオcards.If問題には知られていない問題があります。個々の問題を回避作業も困難です。
[ページ情報]
更新日時: 2009-07-30 19:34:44, 更新者: hiromichi-m
[権限]
表示:無制限, 編集:ログインユーザ, 削除/設定:メンバー