こまぷろぐ

こまぷろぐ

2012年07月15日
XML
カテゴリ: PCハードウェア
GeForce GT 640のつづきです。  (その1) (その2)

本題というか、CUDAを使ったエンコードでCUDAの性能を見てみます。
例によってTMPGEnc Video Mastering Works 5を使用しています。
せっかくのKeplerなのでNVENCの性能も見たいところなのですが、TVMW5は未対応なので(というか対応しているのはMediaEspressoのプレス向けリリースくらい?)評価できませんでした。

■CUDAエンコード

(表)CUDAエンコード (単位:秒)


※設定
ソース:MPEG2-TS(.ts)の一部 180秒 5395フレーム

 SD:720x480 59.94fps インタレース
出力:MPEG4-AVC/H.264(.mp4)ファイル
 HD:1440x1080 29.97fps プログレッシブ
 D4:1280x720 29.97fps プログレッシブ
 SD:720x480 29.97fps プログレッシブ
 mob:360x240 29.97fps プログレッシブ

(グラフ)CUDAエンコード (単位:fps)


※グラフについて補足。TMPGEnc 5で「出力準備中」と表示されている時間が今回の動画では20秒ほどありましたので、その分を差し引いてフレームレートを算出しています。

CUDAエンコードについては、9500 GTを除いてほぼ横並びのスコアになりました。
以前から同様の結果が出ているので驚くことではありませんが、CUDAエンコーダの性能は比較的下位のGPUでも使えるように設計されているため、上位GPUの性能を生かし切れないようです。これはnVidiaのライブラリによるものでしょうか。上位機種でないと遅いというものでも良いので、せっかくの性能を画質向上に活かせる高画質モードとかを作って欲しいところです。


■CUDAを使ったフィルタ処理


ノイズ除去と色調補正を入れてやってみたところ、Core i7 2600Kだと性能が高すぎて、GT 640ではCUDAフィルタリングを有効にしただけでは使ってくれませんでした。ただ、拡張命令を制限したりシングルスレッドに設定したりしたらCUDAを使ってくれましたので、その結果を出しておきます。

(表)TMPGEnc5 CUDAフィルタ Core i7 2600K (単位:秒)
GeForce GT 640 + Core i7 2600K TMPGEnc5 CUDAフィルタ(表)
※ノイズ除去、色調補正

(グラフ)TMPGEnc5 CUDAフィルタ Core i7 2600K (単位:fps)
GeForce GT 640 + Core i7 2600K TMPGEnc5 CUDAフィルタ(グラフ)

結果を見ると、GT 640では確かにCPU処理よりは劣るものの、肉薄するレベルに達していることがわかります。9800 GTもシングルスレッドでSSE2までに制限するとようやくCUDAを使いますが、GT 640との差はかなり開いています。倍までは行きませんが、それに近い差が付いていますね。CUDA Core 384個の実力ですね。


ってことで、もう少し性能の低いマシン、Core 2 Quad Q8400s + SpursEngineのマシンで試してみました。こちらはWindows XP 32bit環境です。

(表)TMPGEnc5 CUDAフィルタ Core 2 Quad Q8400s + GT 640 + SpursEngine (単位:秒)


※SpursEngineで360x240のサイズが使用できなかったので、このテストではmobは352x240の解像度にしています。

(グラフ)TMPGEnc5 CUDAフィルタ Core 2 Quad Q8400s + GT 640 + SpursEngine (単位:fps)


こちらはCPUフィルタよりGT 640のほうが2~3割性能が良いという結果が出ました。フィルタ処理をした場合、SpursEngineでエンコードするのと、エンコードにもCUDAを使うのとでエンコード時間にはほとんど差が出ませんでした(画質には大差がありますが)。
フィルタ処理をしない場合はSpursEngineに分があります。SpursEngineやQSVはハードウェアエンコーダなので高解像度でもあまり速度が低下しませんが、CUDAは結局のところソフトウェアエンコーダですので高解像度になれば処理が多くなる分速度が低下すると。そういうことでしょう。


■画質について

ちょっと本題から外れますが、CUDA、QSV、SpursEngineの画質について。
今回改めてCUDA、QSV、SpursEngineでエンコードしてみたのですが、画質についてはSpursEngineが一番のように思います。というか、SpursEngineを見直しました。動画をなんとなく見ている感じではQSVはキレイに見えるのですが、動きの激しいところをフレーム単位で見ると意外と画質を落としているのがわかるというか、ブロックノイズとかはそれほどではないものの何か”のっぺり”とした画になっている感じでした。CUDAは以前よりマシになったように感じますが動きの激しい部分ではブロックノイズがすごいのは相変わらずです。SpursEngineがディティールまで比較的きちんと再現されているように感じます。
もちろん得手不得手はあるのですが、まだSpursEngineも捨てたものではないのではないかと。


さて、その4では消費電力をチェックして、総括を書きたいと思います。

(つづく)





お気に入りの記事を「いいね!」で応援しよう

Last updated  2012年07月15日 22時36分29秒コメント(0) | コメントを書く
[PCハードウェア] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: