0

私は、オーディオ ファイルのスキャン アルゴリズムのいくつかの種類を構築しています。ファイルの割り当てられたセグメントを処理している複数のスレッドを使用しています。パフォーマンスは非常に優れていますが、Microsoft Media Foundation トランスコード API と比較すると、依然としてはるかに低速です。そこで、オーディオ フレームの処理を削除したので、IO アクセスのみが残ります。ただし、MediaFoundation よりもはるかに低速です。そのため、FileStream を使用してファイル全体を読み取るだけで、MediaFoundation を使用してファイル全体を処理するよりも遅くなる可能性があると考えていました。API モニターを使用して処理を確認しましたが、結果は非常に奇妙です。

API モニターにファイル システム アクセスが表示されません (モニターですべてのデータ アクセス API をオンにしました)。

ここに画像の説明を入力

では、開発者が使用できない、より高速な API はありますか? 私は何が欠けていますか?

4

1 に答える 1

0

Windows のマルチメディア クラス スケジューラ サービス (MMCSS) - MMCSSに注目してください。MediaFoundation は、メディア コンテンツの処理用に最適化されたメディア フレームワークです。その結果、特定の最適化モードで読み書きを処理できました。MMCSS には次の名前があります - モード: オーディオ、キャプチャ、配布、ゲーム、再生、プロ オーディオ、ウィンドウ マネージャー

MediaFoundation は、MFAllocateWorkQueue を介して WorkQueue を作成し、 MFBeginRegisterWorkQueueWithMMCSSを介してタスクを実行します 。

于 2016-05-21T12:54:52.277 に答える