まだ製品は届いていないが予習だけはしておこう。
fps
先日、Radeon RX Vega64の購入手続きをした。
まだ現物が届いていないので、実際の運用は先の話になるのだが、私が今回Radeon系を選ぼうと判断したのは、Fluid Motionという動画フレーム補完機能の為である事は、今まで何度も書いてきた。
ではそもそもFluid Motionとは一体なんなのか?
動画のフレームを補完する機能だという事は、文字からも読み取れると思うが、そもそも動画のフレームとは何なのか? など、基本的な所が見えていないと、この機能を理解する事はできない。
そもそも、動画とは究極的な言い方をするとパラパラマンガのようなものであり、それを高速にかつ大量に流し続けて動いているように見せている。
どれぐらい高速かつ大量かというと、1秒間に24枚、もしくは29.9枚(実際は30枚に届いていない)くらいの絵を次々と連続表示している。
これが動画における24フレーム、あるいは30フレームと呼ばれるもので、フレームは秒間あたりに再生される画像の数を表している。
デジタル映像が当たり前の時代になっても、基本的に映像コンテンツはこの2種類のフレーム数だったりするのだが、ゲームなどの再生フレームは実はそれよりもずっと多い60フレームが基準になる。
ちなみに単位はfpsと表記するが、これは「フレーム・パー・セコンド」という意味で、セコンド(秒)を母数としてフレーム数を割る、つまり秒分のフレーム(フレーム/秒)という意味である。
もちろん、ゲームの場合は処理性能によって60fpsを割り込む事があり、実際には48fpsしか表示できていなかったり、或いは120fpsとして60fpsを超えてくる場合もある。
問題となるのは、表示するモニタもリフレッシュレートといって秒間あたりに表示できるフレーム数があり、それをモニタなどはHz(ヘルツ)で表記している。
たとえば60Hzなら、理論上60fpsの映像を1コマもコマ落ちせずに表示できる性能を持つ、という意味である。
なので高速応答が可能な144Hzのゲーミングモニタの場合、最高で144fpsのフレームを秒間あたりに再生できる事になり、より緻密な表示が可能という事になる。
だが、先程説明した通り、映像コンテンツのほとんどは24fpsもしくは29.9fpsであり、ほとんどのモニタで達成している性能である60Hzであっても、映像コンテンツの再生はそれよりも半分以下のフレーム数で表示しているワケである。
なので、ハードウェアとしてはそれ以上の再生能力があるのだから、映像をもっと滑らかに表示させるために、24fpsや29.9fpsの映像コンテンツの中間フレームを生成して60fpsにしてしまおうというのが、所謂「映像処理技術」であり、最近では普通にテレビでも行われている技術である。
Fluid Motionもその「映像処理技術」の事で、それをPC映像でビデオカードに処理させて表示しようという機能である。
中間フレーム
この中間フレームの生成は、映像コンテンツが29.9fps(30fps)だと、そんなに難しい話にはならない。
1枚目と2枚目のフレームを比較して、その動きの中間点にある映像を生成すれば、概ね動きに違和感のない中間フレームが生成できる。
ところがこれが24fpsだとそういう訳にはいかない。
何故なら、前述のような中間フレームの作り方をしても48fpsにしかならないからだ。60fpsだと、通常の中間フレーム生成技術なら12フレーム分だけ足りない事になる。
そこで、Fluid Motionの場合、残りの12フレームを、時間的に均等配分になるように12/60フレーム、つまり5フレーム枚に1枚追加で生成した中間フレームのさらに中間フレームを生成し、60fpsとして成立させている(らしい)。もっと技術的に難しい事をして滑らかさを出しているようだが、簡単に言うとそういう事らしい。
ちなみに24fpsはアニメで使われる事が多く、通常のテレビなどのコンテンツでは29.9fpsが一般的である。
Fluid Motionがアニメに強いと言われている理由は、この24fps映像の処理をちゃんとしたギミックで中間フレームを生成しているから、らしい。
ちなみに、この中間フレーム生成技術は、ゲームには不向きである。
理由は単純で、最初の再生タイミングが必ず1フレーム分遅れるからである。中間フレームを生成する為にどうしても一番最初のフレームを先読みし、そこから中間フレームを生成するからである。
1フレームを争うゲームの場合、最初の1フレームの遅延が勝敗を分ける事もあるため、ゲームに不向きと言われているのである。
…私には理解できない話だがw
Fluid Motion
AMDのRadeon系が持っている機能「Fluid Motion」は、この中間フレームを生成する機能をGPUで実現している。当然だが、この処理をCPUで行うよりGPUで行う方が効率良く再生できる。
何故か、NVIDIAのGeForce系ではこの機能が用意されていないので、フレーム補完はソフトウェア処理で行うSVP(Smooth Video Project)を利用するしか方法がない。
現在ゲームではNVIDIA系ビデオカードが圧倒的有利な状況にあるが、AMDはFluid Motionを持っているが故に、そこでNVIDIAとの差別化ができている。
このFluid Motionは、AMDのAPUでも機能は実装しているので、お手軽な映像再生PCを専用で持つ事ができるなら、ゲームPCと別で持つという手もある。ゲーム用PCにはNVIDIA製ビデオカードを実装すればいいのである。
しかし、私の様にPCそのものを使い分けないですべてオールインワンで構成する時はディスクリートGPUでRadeon系ビデオカードを搭載するしかない。APUでも良いが、ゲームで必要になるGPUパワーはかなり高いので、結局はディスクリートGPUを選ぶ事になるだろう。
私が今回Radeon RX Vega64をチョイスしたのは、まさにこれが理由である。
ま、そのおかげで電源容量の心配をしなければならなくなったワケだが。
Vega64とVega56
今回、実はRadeon RX Vega56も選択肢の中に入っていた。
Vega56は価格的には1万円ちょっと安く、またワットパフォーマンスもVega64より優れているというGPUになるのだが、絶対的性能でVega64に劣る。
Vega56の最大の特徴はワットパフォーマンスが比較的良いという事であり、今の私からするとVega64をPower Saveモードで使おうかと言っているぐらいなのだから、選択肢としてVega56を選ぶという手もあったが、そんなVega56をなぜ最終的に選ばなかったのか?
もちろん、最終的にはメインPCの構成パーツを全て新しいものに更新するからであり、その時には電源容量ももっと余裕のあるものに切り替える為、最終的にVega64のPower SaveモードではなくPerformanceモードで使用するつもりがあるからだが、PCに詳しい人ほど、Vega56をお薦めとする人が多いのも事実だったりする。
Vega56の性能はVega64との差はあまり大きくなく、それでいて消費電力に明確な差があるのが特徴である。
何故そうなのかというと、これは恐らくだが、まだまだあらゆるソフトがVegaに最適化されていないから、という理由と、もう一つはVegaはある一定のクロック数を超えた段階で劇的に消費電力が上がる可能性が考えられる。
これはAMD製GPUだけでなく、NVIDIA製でも同じ事が言えるのだが、性能を上げるために一定以上の動作クロックにすると、劇的に消費電力が増加する事がある。これはオーバークロックなどをやってみると分かるのだが、クロックを上昇させていくと、電力不足で性能が伸び悩むポイントがある。そこで動作電圧を上げてやる(この行為を「活を入れる」と言う時がある)と、そこからまたクロックが上昇し、同時に消費電力と発熱量が増大していく。
この動作電圧を上げる前のポイントが、その半導体コアの一番効率の良い性能であり、ワットパフォーマンスの優れたポイントになるのだが、性能をどうしても高めに設定したい場合はやむを得ず元々の動作電圧を上げたりする事がある。
メーカーは、基準となる動作電圧すらフリー状態なので、あらゆる動作電圧で実験を繰り返し、性能と効率のバランスを見て製品化するが、そのバランスの取り方で性能重視と割り切れば、消費電力高めの高性能GPUが出来上がる。
おそらくVega64は、ライバルとして設定されたGeForce GTX 1080に対して性能的アドバンテージを得られるように、あるいは追いつくようにあえて動作電圧等のバランスを性能重視に振っていると考えられる。
Vega56も同様にライバルに1070を仮想敵として設定され調整されたのだろうが、Vega64に対して比較対象との性能差が比較的小さかった事が、Vega64よりもワットパフォーマンスが良かったという結果に繋がっていると見られる。
…まぁ、傑作GPUと言われるNVIDIAのPascalを仮想敵としなければならなかったというのは、ある種不幸な出来事だったと言えよう。
というわけで、途中話がソレてしまったが、Vega64の購入を決め、あとはFluid Motionの導入を実施するのみとなった。
今週末はそうしたボードの載せ替え等を実施する事になると思う。
まずは電源容量を超えないような運用を心がけ、現行システムで動作させてみようと思う。