« CRCチェック スルー | メイン | mixi Alert V.1.5.0 Build 86をリリース »

2005年12月12日

動画再生エンジン開発日誌:: 負荷分布

    

グラフ

グラフは各フレームのデコード時間とキーフレームを重ねたもの。
青がデコード時間で、赤い線がキーフレーム。
時間がかかっているフレームは大体キーフレームと重なる。
シークをしない場合、キーフレームは必要ないので出来るだけ間隔を大きくとる設定にした方が容量削減と負荷低減につながりそうだ。
上のグラフはキーフレーム間隔を32フレームにしたものなので、同一ムービーのキーフレームの設定を65536フレームにしてエンコードしてみた。
結果は下図の通り。

グラフ

ファイルサイズは3.2%小さくなり、処理時間は1.6%縮んだ。
グラフを見ると負荷が高くなる箇所が減っているが、傾向は大体同じ。
ま、キーフレームが減ったので負荷が高くなる箇所が減ったのは当然だろう。
再生してみた感じは大して変わらない。
シークを使わないゲームの場合はキーフレーム間隔は最大値にしておいた方が良いかも。
シークが必要なものでも、シーク位置が決まっているのであれば、そのフレームにのみ強制的にキーフレームを挿入すればいい。


この負荷分布の傾向からバッファリングするフレーム数の最適値がある程度求まるかも。
当然、テストケースをもっと増やさないといけないが。
後、デコーダーのバージョンが上がると傾向も変わるかもしれないので、その辺りはリリース時に調整だろうか。



投稿者 Takenori : 2005年12月12日 20:20




comments powered by Disqus
Total : Today : Yesterday : なかのひと