なんだか重い重いって言われている Vorbis の再生のようですが、軽いです。うちのマシン (AC97 codec + Pentium 4 2.54GHz) だと無圧縮 wav の再生は 吉里吉里2だと 2.85% ぐらいで、vorbis の再生は 3.43% ぐらいです。SSE を無効にしても 3.60%。
これに対し、DirectShow での無圧縮 wav でも再生負荷は 3.33%、 Ogg Vorbis DirectShow Filter (Tobias氏のやつ) は 5.13% にもなります。DirectShow で mp3 をならすとき、普通は Windows 標準添付の IIS の MP3 のデコーダを使うことになりますが、この場合は 4.36%。やっぱり DirectShow は重いようです。
DirectShow 以外の mp3 プレーヤはどうかということですが、同じ土俵で比べないといけないですね。吉里吉里1用のプラグインである wump3.dll という mp3 デコーダがあって、これが吉里吉里2につながります。wump3 は ISO の mp3 参照デコーダを独自に最適化した物で、SSE とかの SIMD 命令には対応してませんが、まあそこそこのスピードの出るデコーダでした。でも mpg123 にはスピード的に負けていたような気がします。
…というわけで、おたちゃん氏による otmpg123.kpi 1.18y ot42a による再生負荷も計ってみました。otmpg123 は Kobarin氏作の Kb Media Player 用のプラグインです。Kb Media Player 用プラグインは、一部、吉里吉里2で使えます (吉里吉里2で使えるということと、吉里吉里2で使う目的で一緒に配布して良いということは別問題なのでご注意ください・・・)。
| 再生環境 | 再生負荷 |
|---|---|
| Ogg Vorbis / DirectShow Filter | 5.13% |
| MP3 / DirectShow IIS mp3 decoder | 4.36% |
| MP3 / wump3.dll + 吉里吉里2 2.19 beta 8 | 3.98% |
| MP3 / otmpg123.dll + 吉里吉里2 2.19 beta 8 | 3.89% |
| Ogg Vorbis / wuvorbis.dll SSE無効 + 吉里吉里2 2.19 beta 8 | 3.60% |
| Ogg Vorbis / wuvorbis.dll SSE有効 + 吉里吉里2 2.19 beta 8 | 3.43% |
| 無圧縮 wav / DirectShow | 3.33% |
| 無圧縮 wav / 吉里吉里2 2.19 beta 8 | 2.85% |
そういえば、このクラスの CPU だと、Ogg Vorbis のデコードそれ自体には 1% 未満しか使ってないみたいです。むかし Pentium II 266 MHz の時代に MP3 デコードだけで 10% とか喰っていた時代から思うと、鬼のように速い CPU ですね。
上の表ででている数値はデコードだけではなくて、再生していることにより CPU がどれだけそれに喰われるかから算出した、「再生のために使用している CPU の率」となります。
使用したMP3もOggVorbisも、両方とも220kbps付近のVBRのものです。
前も似た実験をやりましたけど、そのときは wuvorbis.dll による OggVorbis 再生は wump3.dll による MP3 再生よりも再生負荷が高かったです。
とりあえず、吉里吉里を使ってる限りは MP3 を使うよりは再生負荷は(たぶんほとんどの環境において)軽いですので、「Ogg Vorbis は MP3 より重い」なんていう汚名は返上してやりたいものです。