2009-03-17

Firefox 3.1/3.5 のVIDEO再生のパフォーマンス

3.1 beta 3のリリースノートにも載っているが、

Some users with older computers or slower Internet connections may experience choppy OGG video/audio playback (see bug 462667)

Firefoxに内蔵されたビデオ再生機能のパフォーマンスは非常に良くない。

動画系のコードをみればわかるけど、iDCT (逆離散コサイン変換) やYUV->RGB変換など、SIMDで高速化できるような処理をMMXやSSE2を使わずに処理しているので、パフォーマンスが悪くて当然 (oggを扱えるアプリケーションは、本家のライブラリを使わずにチューニングした別のライブラリを使っているのが見受けられるくらい、本家のライブラリはチューニング不足)。最新のliboggplayとかであれば、YUV->RGB変換などをMMXやSSE2等を利用してスピードを稼いでいるので、Firefoxで利用している各ライブラリがバージョンアップされれば、ある程度はパフォーマンスが向上するとは思う。

そもそもNVIDIAなどのGPUだと、(動画再生支援機能として) iDCTくらいは自前で実装されているので、本当はGPU側でやるのがそもそも一番だとは思うのだけど、そこらを含めた抽象化ライブラリって、意外にないんだよね (DirectXにはあるけど、OS非依存のものがない)。また、DirectXとかで動画再生する場合は、YUVで直接描画できるから、ARGBへの変換なんていらないから、よりCPUに優しいんだけど。。。

OpenCLが早く来ないかな...

0 件のコメント: