予定記事が書けなかったのでテキトー穴埋め記事(^^;
H264?なにそれ?HD?そんなサイズ知らねー。ビデオと言えばMPEG1、QVGA。これならCUDAもQSVも使えまい(要らないくらい軽いけど^^)。つまり実用になるデータは一切無い上に、出来上がったビデオファイルにも全く用は無いという、HSDLブログ以外の何物でもない記事。
★ビデオエンコードで暫し遊ぶ
ビデオエンコードを始めた頃をふと思い出した。筆者がビデオエンコードを始めたのは前世紀終わり、440EX+Celeron466のPCでMPEG1エンコードしていた。TMPEGENCがまだフリーソフトだったころの話だ。QVGAで正味2〜3時間はかかっていたハズだが、アレを昔の機材と今の機材でもう一度やってみたくなった。PCの進化の歴史を超短期間で「体感」するのが目的だ。実はイレース作業に回された昔のHDDから、このMPEG1エンコードに使ったと思われるAVI(Huffyuv)ソースが発見されたのだった。これは試してみるしかない。
★リファレンスPC
昔と全く同じ機材でやってみたいのだが、流石の筆者も十数年前のPC構成は殆ど覚えていない。それらの使用機材がHSDLにまだ残っているかもわからない。仕方が無いのでこの際CPUだけ同じにして、あとは全てHSDLの現役機材で組んでみる。当時のマザーは確かTekram P6E40-A4(注1)だったハズだが、FSBが同じなら440EXと815Eで違いは無かろう。
//HSDL41
MB:P6ISA-II[Rev1.1/2.3]
CPU:Celeron466 SL3EH(70x7.0)
MEM:SDR256MB(PC133x2)
昔と全く同じではないがHDD等は恐らく同程度。当時のOSはNT4.0だったと思うが、今回はXP(SP3)でTMPEGENCも最終バージョンを使う。面倒死脳はMMXだけだから新バージョンの最適化も効かないだろう。当時のデフォFSB75でやりたかったがそれだと固まる(^^; メモリは当時128MBくらいしか載せてなかったけどXPなので256MBに増やした。このPCでエンコードした結果がリファレンスとなる。だんだん進化する機材でどこまで速くなるのか?
初めて測ったSL3EH@70の午後ベンチは490MHzで5.75倍と言う心細いものだ。小サイズとは言え、よくこれでビデオエンコードやる気になったな〜と言うのが正直なところ。
発見されたソースはQVGAサイズのHuffyuv+PCMのAVIファイルで、長さは25分18秒(36412f)である。結果はフィルターも何もかけずに75分06秒だった。既に最終エンコードすれば良い所まで完成されているソースなので、このAVIソースの作成に1時間程度はかかるだろう。これによりファイルサイズは2.66GB→246MBに圧縮されるが、現代のMP4(H264)だったら同程度の画質で更に1/10以下になるハズ。この辺りにも時代を感じさせられる。
★P!!!933
同じPCでSL44Jを動かす。当時とすればハイエンドCPUだが果たしてどのくらいの速度が出るのか?価格から行けば倍くらい速くならないと満足出来ない気がする。ノーマルだと遅いのでFSB140で動かしている。
//HSDL41
MB:P6ISA-II[Rev1.1]
CPU:SL44J(140x7.0)
MEM:SDR256MB(PC133x2)
午後ベンチは980MHzで25.26倍となった。クロックだけでなくSSE命令が使えるのは大きい。正確に調べたわけでは無いが、SSEの効果は初代SSEが一番大きかったように思う。
高クロック+SIMDによってエンコード時間も半減した。だが2000年を過ぎた辺りから画面サイズがQVGAからVGAサイズになり始めたので、CPUを交換した割には時間的なメリットを受けなかった記憶がある(筆者は当時Athlon900@1000に変えた)。この作業はマルチスレッドの方が効くのかな?ソフト自体は早くからマルチスレッド対応である。
ここで気づいたのだが、実は音声の処理が結構な足かせになっている。午後ベンチの比率でエンコード時間が短くならないのはこれが原因だろう。音声エンコードのテンポラリファイルの作成にHDD速度が大きく影響するので、ここはRAMディスクでも使った方が良いかもしれない。
★Mobile Athlon XP1400+
新たにPCを組むのが面倒なのでABSのマシンを借りた。HDDが倍速なので、少なくとも音声分は速くなりそうだ。
//ABS12
MB:AK77(A)Pro-133[Rev97_A7]
CPU:AXMS1400FWS3B(133x10.0)
MEM:DDR1024MB(PC3200x2)
午後ベンチは40倍弱。P!!!933よりはクロック差以上に速くなっている。
おー、更に半分の時間になった。劇的な改善だ。ビデオエンコード速度は概ね午後ベンチのランキング通りだった。音声と映像の違いはあるとはいえ、どちらもMPG1だから当たり前か。しかしこれほどの大差になるのはHDDの差であろう。
★Core2Duo E4300
いきなり時代が変わってSL9TBである。デュアルコアになって速度は更に大差がつくのか?MP3並みになるとか。
//HSDL46
MB:P965 Neo-F[Rev1.1]
CPU:SL9TB(200x9.0)
MEM:DDR2-1024MB(PC6400D)
HDDの影響を受けない純粋なエンコード能力はAthlonXP1400+の4倍もある。計算上はこれで半分以下になる筈だが…。
ありゃ?全然速くならないぞ。1/4どころか1/2にすら遠く届かない。これはやはりHDDが腐っているからか。仕方が無いのでテンポラリにRAMDISKを使うか。
多少速くなったけど1/2には及ばない。やはりCPUだけでは劇的な差は出ないのか。最新ハードウェアにソフトが最適化されないとダメなんだろうな。MP3エンコード並みの速度になるのはこの世代でもまだまだのようだ。
★終わり
ちょっとした思い付きでやってみたけど、やはりCPU「だけ」では計算通り処理は速くはならないという事か。HDDやメモリなど、周辺のバックアップがあってこそPCは速くなるのだった。