GeForce GTX260でCUDAに挑戦

GeForceのCUDA2.0という、GPUパワーを汎用的な計算に使ってしまおうという機能に対応したTMPGEnc 4.0 Expressがリリースされました。

まだフィルタ処理とMPEG1/2のデコード処理だけの対応ですが、我慢しきれずに対応ビデオカードに特攻してしまいました。フィルタあんまり使ってないので恩恵少ないことが予想されるんですが、つい…

■ハード

とりあえずせっかく買うのだからGTX260にしてみました(さすがにGTX280は除外)。横浜の店頭在庫ではさして選択肢もなく、例によって玄人志向のものに。

とりあえずデカいです。3Dゲーマーではないので、2段占有のグラボを買うのも初めて。写真上は今まで使っていたRadeonHD3450。DSCN0265

全面ケースに覆われていて基板むき出しなのはスロット端子のみという感じなので、扱いはなんとなく楽です。が、これ奥行きありすぎて、3.5インチベイのマウンタと干渉してつきませんでしたorz。しかたなくマウンタをとりはらって、カードリーダーはガムテ止めに…

検索エンジンで見に来る人もいるでしょうから改めてその他の環境を晒しておきましょう。

  • CPU: Q6600@定格
  • RAID 0
  • 4GBメモリ

■TMPGEnc

設定としては、フィルタとデコードを個別にON/OFFできます。

元々、デジタル放送ソースやDVDソースが多いので、フィルタはほとんど使っていませんでした。アニメは24fps化をする位。あとインタレ解除ですね。1分30秒のMPEG2-TS、1,440×1,080iソースを1,280x720pなDivXにしてみた感じ、

  • 両方オフ:3分
  • フィルタのみ:17分
  • デコーダーのみ:3分
  • 両方オン:4-5分

同じ設定で何度か繰り返しても結構ばらつくので、数値は概算で出してあります。オフの方が早いですねorz。オンの場合のCPU:GPU使用比率は、概ね3:7というところです。せめて損はしないよう自動でバランスとってくれれば、常にオンで放置できるんですが…(デコーダーのON/OFFはTMPGEncの再起動が必要)。

特にフィルタのみ使った場合の遅さは異常ですね。

 2008.11.06追記こちらのエントリでTMPGEncの新バージョンによる追試をしました。

次にせっかくなのでフィルタを活用してみることにしました。ほとんど使ったことがないので、あらためて解説本でお勉強。

その結果、見かけの解像感をあげる(輪郭線が細くなる)のにスマートシャープというフィルタが有効そうだったので使ってみました。あと、リサイズのアルゴリズムで、デフォルトのLanczos-3はリンギングが出て、主に拡大用、ということだったので、BiCubicに変更してみました。シャープになるが重い、ということだったのでうってつけです。

1分17秒のDVDソースで720×400なDivXを作る際の比較が以下。

  新設定 旧設定
CUDA ON 54秒 41秒
CUDA OFF 2分53秒 31秒

 

これは明らかに差がでますね。フィルタを使った場合、1/3になっています。この差はCPUのクロックで出すのは途方もないことです。一方、フィルタを使わない場合、やはりCUDAをオフにしないと遅くなってしまうようです。

まとめとしては、

  • フィルタを使わない時はマメにオフにするべし (新バージョンでは必要ナサゲ)
  • スマートシャープ(゚∀゚)イイ!

ってことですね。バッチエンコードで色々まとめてエンコする時なんかは不便なので、簡単に切り替えられたりできるようにしてほしいものです。

またスマートシャープの効果はスゴいです。従来であれば6倍の時間がかかったので知ってても使おうと思わなかったかも知れないですが、倍弱で済むならコンテンツによっては使ってみるかも知れません。

■Badaboom Media Encoder

CUDA2.0をH.264エンコードにも活用してくれるおそらく現状唯一のソフトです。体験版を試してみました。

爆速です!

DVDソースの24分アニメがiPhoneプロファイル(1.2Mbps)でわずか4分でした…

ただ、VIDEO_TSを読み込み、トラック範囲指定でエンコードもできるものの、現行バージョンはまだいくつかの理由で実用になりません。

  • 音ズレする(たまたま?)
  • MPEG4系をソースに使えない
  • 日本語ファイル名が化ける
  • バッチエンコードができない
  • 字幕入れに対応していない
  • 2passもできない
  • 24fps化ができない (できました)
  • 音質もいまいち?

など。iPhone/PSP用動画は、DivXを元に作ることが多いので、それができないのは痛手です。iPhone/iPod touch/AppleTV/PSPといったデバイスを選び、画質スライダーを動かすだけ、という簡単操作は初心者には良いですが、フロントエンドはやはりTMPGEncが自由度高くて使いやすいなぁ、という印象。現状ではお金払ってまで使い道がなさそうです。

はやくTMPGEncのエンコード処理にも対応してほしいなぁ。