AMDは26日に都内で記者説明会を開催し、ディスプレイ表示技術「FreeSync」とバーチャルリアリティ(VR)コンテンツ向け技術「LiquidVR」について解説を行った。今回はその内容を紹介したい。

ディスプレイ表示技術「FreeSync」

FreeSyncそのものは、2014年11月のAMD Future of Computing 2014の際に初めて明らかにされ、その後、Catalyst Omegaの説明会など、過去にも何回か紹介されているのだが、FreeSyncに対応したディスプレイが市場に出回り始めたことももあって、今回改めて詳細な説明が行われた(Photo01)。

Photo01:説明は本国AMDのTerry Makedon氏(Senior Manager, Software strategy)。2014年2月にもCatalyst Omegaの説明のために来日している

FreeSyncは、ディスプレイに表示される画像のカク付きや、画が引き裂かれたようになってしまうティアリングを軽減する技術。基本的なアイディアは、画面表示のフレームレートを可変にするというものだ。例えば画面描画が本来のフレームレートに間に合わない場合、あるフレームは描画途中のものが表示され、次のフレームではそれが完成して表示されるということになる(Photo02)。

Photo02:フレームレートの表示が下がるのはともかく、このRefresh 3の間はマウスポインタが表示されないので操作とポインタがずれる事になるのが問題

この場合、Refresh 3にあたるものが表示をスキップする形になる。そこで、描画間に合わない場合にはフレームレート自体を遅らせることで間に合わせようという仕組みだ(Photo03)。

Photo03:ここではRefresh 3の時間を長くするという形で効果を示しているが、Photo02とあわせるならReresh 2が長くなるはずである

さて、この仕組みというか効果そのものはNVIDIAのG-SYNCと同じものだが、大きな違いは実装にあたっての問題である。G-SYNCは、NVIDIAの独自技術としてライセンス提供される形だが、FreeSyncはVESAによって、「Adaptive-Sync」として標準化されているように、オープンでライセンスフィーは必要ない。また、G-SYNCはディスプレイ側に対応モジュールを搭載しなければならないが、FreeSyncははDisplayPortに対応したディスプレイであれば、そのまま利用できる(Photo04)。

Photo04:そんなわけで「実装コストは非常に安いので、広く広まるはずだ」というのが同社の見解

2014年12月の段階では、Samsungが対応ディスプレイを投入予定という話だったが、今回の説明会では6社から8つの対応製品が用意されていることが発表された(Photo05~09)。会場にはそのLGの34UM67-Pが持ち込まれ、FreeSyncの効果のデモが行われた(Photo10,11)。

Photo05:Acer XG270HU。定価は499ドル

Photo06:BenQ XL2730Z。定価は599ドル

Photo07:LG 34UM67。国内では34UM67-Pの型番になっている。米国での定価は649ドル

Photo08:LG 29UM67。国内では29UM67-Pの型番になっている。米国では449ドル

Photo09:Samsungはサイズ違い製品があるので、これを別に数えると合計11製品となる。ほかにもNIXEUS/Samsung/Viewsonicが対応製品をリリースする

そのFreeSyncであるが、いまのところ利用できるのはRADEON RシリーズのDiscrete GPUと、Kaveri世代のAPUのみである(Photo12)。これに関しては「何しろ正式発表から1 週間でまだ時間が足りないので、全部の検証は終わっていない」としており、技術的にはGCNに対応したGPUであれば潜在的には可能「なはず」という返事であった。

Photo10:これがFreeSync Offの場合で、明確にジャギーが出ているのが判る

Photo11:FreeSync Onにするとジャギーが消え、綺麗な表示になっている

また、2015月6月には発表されると思われる次世代(R5/7/9 3xxシリーズ)製品だが、メイン~ローエンドに関しては新アーキテクチャではなく、既存コアの流用になるのはなかば公然の秘密と化している。そこで「次世代の製品、特にローエンドモデルは当初からFreeSyncをサポートするのか?」と聞いてみたところ「I hope so」という、やや怪しい返事であった。

Photo12:もっともRADEON Rシリーズといっても、R9 280/R9 280Xはここに入っていないなど、ちょっと微妙な感じである

ところで再びG-SYNCとの比較に戻るが、価格面以外にも若干ながら性能面でのアドバンテージがある、というのがAMDの説明である(Photo13)。

Photo13:サポートするV-SYNCの範囲が広いのも、FreeSyncのメリットの1つとされる

Photo14はAlien:Isolationをプレイするにあたり、G-SYNCのOn/Offでどの程度のフレームレートの変化があるかを比較したものだが、わずかとは言えG-CYNCをOnにするとフレームレートが犠牲になるというのがAMDの説明である。これに対し、FreeSyncではフレームレートの犠牲は無い(Photo15)としている。ちなみに現時点でのFreeSyncの欠点はCrossFire環境では動作しないことで、これは次のCatalystで対応するとのことであった。

Photo14:G-CYNCをOnにするとわずかながら、フレームレートが落ちるという。ただしこれについて「何故か」という説明はない。もっとも聞いたところで「それはNVIDIAに聞け」と言われるのがオチではあるが

Photo15:普通に考えると、これでフレームレートが大きく減ると言うのはよほどドライバ側で何か処理が重いとしか考えられないのだが。結果が+0.16%というのは、単純に誤差の範囲と見做してよいと思う。それはそれとして、そもそもまだ未発売のものでベンチマークされてもという気はちょっとする

残念ながら国内では、LG以外のディスプレイの選択肢は無い訳で、このあたりは国内企業への働きかけなどがないとちょっと普及には時間が掛かりそうではある。

LiquidVR

もう1つの発表がLiquidVRに関するものである(Photo16)。これは2015年のGDCで発表された、VR(Virtual Reality)向けの技術で、すでにSDK 1.0のαバージョンが開発者向けに提供され始めている。このLiquidVRは、NVIDIAが発表したVR Directに対するカウンターパートというか、AMDからの対抗ソリューションと考えればよい。

Photo16:説明を行ったSasa Marinkovic氏(VR&Software Marketing, Global Head)

Oculus Riftに代表されるVR Headsetの利用頻度が高まってくると、求められる要件のレベルは当然上がってくる(Photo17)。それも単にグラフィック能力だけでなく、音響やセンサーの精度や速度の向上も同時に必要とされるようになる(Photo18)。

Photo17:現在のOculus RiftはまだPhotorealismというレベルまでは達していないが、ただ様々な会社がVR Headsetを開発しており、これに到達するのは時間の問題であろう

Photo18:画面は綺麗だが、頭を動かすと反映されるのに数秒掛かってたら話にならないし、後方から聞こえてくるべき音が前方から聞こえてきたら混乱する。そうした間違いが起きないためにも、センサーの精度やサンプリング速度も重要であり、これらを全部実現するためには、トータルの計算能力を高めることが必要

またVRのマーケットが広がるにつれ、ゲームやエンターテインメントだけでなく、教育や医療といった広い範囲での利用が考えらる。こうした分野ではより高い精度が求められる(Photo19)。VRを実現する機能のうち、GPUに求められるのは主にPhoto20の上の4項目である。

Photo19:飛行訓練用のフライトシミュレータなど、利用例としては典型的なものだろう。もっともRemote Presenceとかは無理やり並べてる感があるが

Photo20:いまから思えば、AMDのTrueAudioはまさにこういうVR向けの用途にはぴったりのソリューションである

話をLiquidVRに移すと、現在のSDKで提供される機能の特徴がこちらである(Photo21)。Latest Data Latch(Photo22)はTime Warpと呼ばれる機能の一部をなすものである。このスライドではメールボックスに準えているが、CPUは常にVRヘッドセットのセンサーから頭部の位置や動きを捉え、「次の瞬間にどういう動きをするか」をメールボックスに格納し続けている。

Photo21:Asynchronous shaderについては今回は説明なし

Photo22:要するにHead-Tracking(頭の動きの追跡)を行い、表示タイミングにおける頭の位置を予測するための技術である

このときのGPUは? というと、もちろんこちらも「次に必要な画面」を予測しながらレンダリングを行っているが、こちらは何しろ時間が掛かるから激しく頭を振ってるような状態(例えば物音がしていきなり振り返るとか)では、レンダリング開始時と終了時で頭の向きがずれている可能性がある。

そこでレンダリング終了時にGPUはメールボックスを確認し、現在の頭の位置を再確認して、自身の予測とずれているようなら、そこでレンダリング画像をの微調整を行ってずれを最小限に抑えるという仕組みだ。

Affinity Multi-GPUは、CrossFire環境でVRヘッドセットを使うときに、通常のAFR(Alternative Frame Rendering)ではなく、右目用と左目用にそれぞれGPUを割り振ることで効率を上げようという仕組みである(Photo23)。このために、専用のドライバが提供される模様だ(Photo24)。

Photo23:VR用の場合、Timw Warpがバシバシ入る運命にあるので、AFRを使って「次のフレームの映像」を先に使っていても、実際にはそれが利用されない可能性が結構高い。その一方、VRでは当然右目用と左目用で微妙に異なる映像を生成する必要がある(そうでないと立体視にならない)ので、であればこれをそれぞれのGPUに割り振ったほうが効率的という話である

Photo24:Draw Primitiveから自動的に処理を割り振るようになっているので、GPUが1つでも2つでもアプリケーション側の対応は不要の模様だ。ちなみにGPUが3枚以上あっても使えるのか……についてはうっかり聞きそこなった

最後がDirect-to-Displayで、複数のVR Headsetの規格の違いの吸収、あるいはVR Headsetに非対応なOS上でVR Headsetを利用するためのサポートなどが含まれる。特にDirect Front Buffer Renderingは「現在表示されているフレームバッファに直接描き込む」(通常は表示されていないバッファに描き込みを行い、完了したら切り替えることで描画中の様子を見せないが、ただしその分遅くなる)もので、性能改善にも役立つ仕組みだ。

Photo25:HMDはHead Mount Displayの略

LiquidVRそのものは、なにしろVR Headsetが無いと意味が無い規格であるし、そのVR Headsetそのものや描画方式がメーカー毎に異なったりするし、販売も開発者向けのみで、未だに一般ユーザーにはやや遠いところにあるのだが、早ければ今年中には一般ユーザーへの販売も始まる模様であり、そうした動向をにらんでの対応と考えればよいだろう。