連載
西川善司の3DGE:DirectX 12.0と12.1の違いからG-SYNCの新情報まで。NVIDIAが明かす「あなたの知らないGeForce」
ASUSTeK Computerが発表した,G-SYNC対応のゲーマー向け21:9ディスプレイ「PG34Q」 |
Tom Peterson氏(Director of Technical Marketing,NVIDIA) |
そんなG-SYNCやGeForce GTX 900シリーズの最新モデルである「GeForce GTX 980 Ti」(以下,
DirectX 12.0とDirectX 12.1の違いは何か
――GTX 980 Tiが発表されたが,GPUコアはGM200であり,「GeForce GTX TITAN X」(以下,GTX TITAN X)と同じ。一方はGeForce GTX TITANシリーズであるのに対して,もう一方はGTX 900シリーズの製品と分かれたことになる。
自分は「GeForce GTX 980」(以下,GTX 980)を使っているが,これはGM204コア製品だ。GTX 980型番の製品が異なるGPUコア製品に対して付けられたことになる。製品名の命名規則がよく分からなくなってきているので,整理して教えてほしい。
Peterson氏:
それはともかく,GeForce GTシリーズは普通のゲーマーの要求に耐えうるGPUであり,GeForce GTXシリーズは,ハイエンドのゲーマーを満足させられる性能を持つGPUブランドという位置づけだ。それに対してGeForce GTX TITANシリーズは,それよりもさらに上の,コストを度外視するスーパーエンスージアスト向けのシリーズなんだ。メルセデス・ベンツで言うなら,「AMG」シリーズのイメージが近いかもしれないね。最高性能を獲得することに,投資を惜しまない人達向けの製品といえる。
その意味で,今回のGTX 980 Tiは,スーパーエンスージアスト向けというよりも,ハイエンドゲーマーを満足させられる性能を持ったGPU製品という位置づけなんだ。
――今回のGTX 980 Tiの発表に合わせて,NVIDIAは「DirectX 12への対応度」という説明を強調していた。これの意図するところは。
Peterson氏:
それは,我々がうまくユーザーに対して伝え切れていない部分だったからだ。メディアの力で広く伝えてほしいんだよ。
基本的に,これからNVIDIAのGPUを選ぶ人はDirectX 12.1(≒Feature Level 12_1)対応のMaxwellコアを選択してほしいね。第2世代MaxwellコアのGPUなら,すべてFeature Level 12_1まで対応している。
……ここは筆者による注釈が必要だろう。
DirectX 12では,機能の対応状況に応じて,最低限サポートされるべき基本APIの上に,Feature Level(機能レベル)という形で,「9_1,9_2,9_3」「10_0,10_1」「11_0,11_1」「12_0,12_1」といったいくつかの仕様が規定されている(関連リンク,英語)。そして,NVIDIAのGPUで,DirectX 12対応ドライバが提供される予定なのはMaxwellとKepler,そしてFermi世代のGPUコアとなるのだが,最新の第2世代Maxwellよりも前世代のGeForceでは,最新の機能レベルであるFeature Level 12_1がサポートされないのだ(関連記事)。
さらにややこしいのが,2014年10月に発表されたDirectX 11.3の存在である。機能レベルで見ると,DirectX 11.3とDirectX 12.1は同等なので,以下のような解釈になるのだ。
- DirectX 11.3機能レベルに対応するGPU→DirectX 12.1機能レベル
- DirectX 11.2機能レベルに対応するGPU→DirectX 12.0機能レベル
たとえば,KeplerとFermi,および第1世代MaxwellコアのGeForceは,DirectX 11.0までとなるため,DirectX 12でもDirectX 11.0機能レベルまでの対応となる。
ゲームスタジオやゲームエンジンメーカーは,基本的に機能レベルの低い側に合わせてエンジンを作るものなので,「Raster Order View」(ROV)や「Volume Tiled Resources」,「Conservative Rasterizer」といったDirectX 12.1機能レベルに含まれる仕様は,あまり積極的には活用されないかもしれない。
仮想現実を楽しむにはMaxwellコア以降のGeForceを推奨
――Game Developers Conference 2015までは「VR Direct」と呼ばれていた仮想現実(以下,VR)向けのGeForce最適化ミドルウェアを,「GameWorks VR」に名称変更したのはなぜか。
Peterson氏:
知ってのとおり,2013年に登場したGameWorksは,ゲームスタジオがGeForceに最適化したグラフィックス表現を行いたいときに活用できる,無料のミドルウェア&ライブラリだ。2013年の発表以降,知名度も上がって認知度も高まってきた。
VR DirectはVR向けのミドルウェア&ライブラリなので,ブランドを統一する意味でGameWorks VRと改名したというわけだよ。
――GTX 980 Tiの発表とVR Directの改名に合わせて,GameWorks VRには「Multi-res Shading」(Multi-resolution shadingとも)という機能が追加された。これには,第2世代Maxwell世代以降のGeForceでのみサポートするというメッセージが込められているように思えるのだが。
Peterson氏:
Multi-res Shadingとは,VR向けグラフィックスレンダリングにおいて,視界外周付近の描画解像度をあえて低くすることで,VRにおいて最優先されるハイフレームレート描画の維持を実現するための工夫だ。指摘のとおり,この機能は,(第2世代)MaxwellコアのGeForce以降でサポートされる機能になる。
――第1世代Maxwell以前のGeForceでは,VRコンテンツの動作が難しいということになるのか。
Peterson氏:
もちろん,動かないということはないとは思う。ただ,Multi-res Shadingの効果も含めて,優れた表示性能を期待したい人には,第2世代Maxwellを推奨するという感じになる。
先日,Oculus VRがblogで発表したように,製品版の「Rift」では,GeForce GTX 970以上のGPUが推奨される(関連記事)。VRを楽しみたいユーザーはぜひとも最新のGeForceに乗り変えてほしいね。
……ここでも補足が必要だろう。
Multi-res Shadingとは,Peterson氏が説明するとおり,VR対応HMDに向けて視界内の解像度を不均一にレンダリングするテクニックのことだ。
ここでは「視界内不均一解像度レンダリング」と呼ぶことにするが,VRゲームにおいて,ユーザーは固定された画面ではなく,見たい方向に首を向けて見るようになるので,映像の中央部を集中的に見る傾向が強まる。それなら,映像の中央部は高解像度で鮮明にレンダリングする一方,視線が集中しない視界外周部分ではレンダリング解像度を低くしてGPU負荷を低減しよう,というのがMulti-res Shadingの考え方である(関連記事)。
こうした技術は,Microsoftが「Foveated 3D Display」(※Foveated Renderingとも呼ぶ)として研究していた。また,視線追従機能を搭載したVR対応HMD
では,このMulti-res Shading機能がどうしてMaxwell専用機能としてアピールされているのだろうか。
Multi-res Shadingを実現するためには,3D空間を視界としての2D平面(=視錐台)で切り取るときに,外周をぎゅっと圧縮すればいい。それを実現する最もシンプルなやり方は,ポリゴンをピクセルに分解するラスタライズ処理のところで歪んだ写像を与えるというものになるが,現行のGPUには,これを実現するプログラマブルラスタライザが搭載されていない。残念ながら,このアプローチは非現実的とということになる。
もう1つの実現方法は,シーンを構成する各ポリゴンを異なる視界(=Viewport,ビューポート)に分別してから投射する手法だ。GameWorks VRのMulti-res Shadingは,まさにこの機能を活用している。
ジオメトリシェーダは,入力されたプリミティブ(Primitive,ここではポリゴンとほぼ同義)をプログラマブルに増減させる機能を持つが,最大16個のビューポートにポリゴンを投射する機能も備えている。この機能はもともと,DirectX 9で搭載された「マルチレンダーターゲット」(Multi Render Target,MRT)の機能を拡張するために用意されたものだ。
たとえば,入力されたポリゴンをジオメトリシェーダで複製し,六面体構造のビューポートに投射して描けば,キューブマップテクスチャを一度にレンダリングできる。
また,視点からの近い領域ほど高解像度,遠い領域ほど低解像度にした複数のビューポートを用意しておいて,それらに対してシャドウマップを描画すれば,広大なシーンを網羅した(カスケード)シャドウマップを1パスで生成するといったことも可能になっている。
Multi-res Shadingで応用するのはこの手法だ。描画対象となるポリゴンが視界外周に位置すると判断できるときには,それを特定のスケール値で縮小し,中央とは異なるビューポートに投射して描画する。つまり,ジオメトリシェーダの機能が搭載されていれば,Multi-res Shadingは実現できるはずなのである。
ならば,なぜMulti-res Shading機能は第2世代Maxwell世代に限定されるのか。どうやら真相は,「第2世代Maxwellで,ジオメトリシェーダの性能が改善されているため」ということらしい。とはいえ,Keplerコア以前のGPUにもジオメトリシェーダは搭載されているので,それらでMulti-res Shadingを実行したときに性能がどの程度になるのかは,気になるところではある。
いずれにせよ,2007年にリリースされたDirectX 10で搭載されて以来,ほとんど顧みられなかったジオメトリシェーダに,VRにおいては活躍の場が与えられることになりそうだ。
なぜ今頃になってG-SYNCの重要情報を公開したのか
ディスプレイ同期技術「G-SYNC」のノートPC版「G-SYNC Direct」の発表と,それに合わせて公開されたG-SYNCの詳細情報については,6月1日掲載の記事で報じたとおりだ。
ここでは,公開されたG-SYNCの詳細情報から,とくに重要なものを簡単に説明しておこう。
1つめは,G-SYNCモジュールに映像信号のリフレッシュレートを2倍以上に引き上げる機能が搭載されていることだ。これにより,GPU側のフレームレートが液晶ディスプレイの最小リフレッシュレートを下回った場合でも,同一フレームを複数回出力することで,表示映像をちらつかせないことができる。裏を返せば,
2つめの詳細情報は,液晶パネルの応答速度に起因する色の階調崩れを解消する機能「G-SYNC Variable Overdrive」の存在だ。液晶画素を高速駆動するオーバードライブを利用して,表示フレームレート(=リフレッシュレート)に最適化された駆動電圧制御を行う仕組みが搭載されているため,G-SYNCでは階調崩れが起きにくくなっているという。
これもまた,FreeSyncでは階調崩れが起きるであろうとほのめかされているわけだ。
液晶画素のオーバードライブでは,目的の画素状態になる時間を早めるため,駆動電圧を一時的に引き上げる |
しかし,G-SYNCのような可変型リフレッシュレート表示では,駆動電圧を最適化しないと表示階調がおかしくなる可能性がある。それを考慮して,G-SYNCでは,駆動電圧の最適化機能を備えているという |
ここまでの情報を理解すれば,「なぜG-SYNCモジュールが必要か」も理解できるというものだが,NVIDIAはこういった重要情報を,どういう理由で最近まで公表しなかったのだろうか。
Peterson氏:
我々のマーケティング戦略とでも言っておこうか(笑)。
G-SYNCのアイデア自体は,一言で語れるほど明解で分かりやすい。競合他社が真似てくることは発表前から分かっていたことだ。ネガティブな情報を流してくることも含めてね。だから相手の出方を待っての反撃というわけさ。
「FreeSync対応液晶ディスプレイはちらつくよ,色が変になるよ」という声がユーザーから出始めた頃合いに,こうした情報を公開することで攻勢に出たというわけだ。「G-SYNCには表示遅延がある」なんていうネガティブ情報を出されたときには我々もビックリしたけどね(笑)。そんなことはないんだよ。断じてね。
とはいえ,疑問のすべてが氷解したというわけでもない。
――ノートPC用のGeForce GTX 900Mシリーズは,いまのところすべてが第2世代MaxwellであるGM204コアを採用している。これはつまり,G-SYNC Directに相当する機能が,デスクトップPC向けGM204にも入っているということか。
Peterson氏:
そのとおりだ。第1世代MaxwellのGM107や,GTX TITAN XやGTX 980 TiのGM200にもG-Sync Directの機能は搭載されている。ただG-SYNC Directは,ノートPCと組み合わせたときにしか有効にならない。
――今回NVIDIAは,G-SYNC Directにあたって,垂直リフレッシュレート75HzのNVIDIA認定液晶パネル「G-SYNC Panel」もセットで訴求している。ただ一方で,既存のノートPCでGM204べースのGPUを搭載したからG-SYNCをサポートしたいというニーズも,ノートPCメーカーの中にはあると思う。たとえばそういう声が出たときに,NVIDIAは対応できるのか。
Peterson氏:
NVIDIAにコンタクトしてくれれば,我が社のエンジニアがその液晶パネルの素性を調査する。そのうえで,G-SYNCに対応できるようであれば,その液晶パネル用の駆動データをセットアップすることで,そのノートPCをG-SYNC対応に変えられるよ。よほど粗悪な液晶パネルでない限りは,G-SYNCへの対応が可能だと考えている。
COMPUTEXで発表されたG-SYNC対応ノートPCは,その多くがリフレッシュレート75Hzに対応した製品だった。しかし,リフレッシュレート60Hzの液晶パネルでG-SYNC対応ノートPCを作ることに問題はない。そういう製品も我々は歓迎する。
――G-SYNCの新機能として発表された「Windowed Mode G-SYNC」だが,全画面表示ではなくウインドウ状態のゲーム画面でも,可変フレーム表示を実現するものだという。これは,既存のG-SYNC対応液晶ディスプレイでも利用できる機能なのか。それとも何らかのファームウェアアップデートが必要なのか。
Peterson氏:
Windowed Mode G-SYNCは,新しいGeForce Driverをインストールするだけで有効化される(関連記事)。液晶ディスプレイ側のファームウェアアップデートは不要だ。
この機能は,G-SYNC対応ディスプレイをリリースしたあとで,非常に多くのユーザー達からリクエストがあったんだ。とくにアジア圏,中国系のゲーマー達からね。彼らはゲームをするときに,常にチャットウインドウやWebブラウザを開いたマルチウインドウ状態でゲームをするんだよ。
――Windowed Mode G-SYNCは,一体どうやってゲーム画面のウインドウの座標やサイズを把握しているのか
Peterson氏:
難しく考えることはないんだ。この原理こそが,ファームウェアアップデート不要,ドライバ新調だけでWindowed Mode G-SYNCが実現できてしまう秘密にもなっているんだけどね(笑)。
Windowsでは,Desktop Window Manager(以下,DWM)がデスクトップ描画やアプリケーションウインドウのコンポジット処理(≒合成)を行っているのは知ってのとおり。だから,ゲーム画面が可変フレームレートで描画されていたとしても,ウインドウ表示をしている限り,DWMによってデスクトップ画面に合成されてから,固定フレームレートで出力(≒表示)されることになる。
しかし,Windowed Mode G-SYNCを有効化したときは,ゲーム画面の可変フレームレートでDWMがデスクトップ画面を出力するようになるのさ。G-SYNC対応ディスプレイ側としては,普通に画面全体をG-SYNCの可変フレームレートで表示しているだけなんだ。
――では,デスクトップで可変フレームレートのゲーム画面を複数動かしていたときはどうなるのか?
Peterson氏:
いい質問だが,答えはシンプル。マウスでクリックしてフォーカスされたゲームが主導権を握ってG-SYNC表示されるだけだね。ちなみに,Windowed Mode G-SYNCでは,マニアのために「V-SYNCオンモード」や「V-SYNCオフモード」も用意してあるから,好みに合わせて使ってもらえればと思う。
HDMI 2.0a対応はゲームスタジオと一緒になって取り組む
インタビューの最後では,NVIDIAの将来製品や技術についても聞いてみた。
――GPU Technology Conference 2015で,NVIDIAは,Pascal世代のGPUで次世代メモリ「HBM」(High Bandwidth Memory)の活用すると予告した。競合(=AMD)はまもなくHBM搭載の新GPUを投入すると見られているが(関連記事)。
Peterson氏:
そのようだね。ただ,HBMは,まだ立ち上がって間もない技術なので,すぐに飛びつくわけにはいかないんだ。
第一に,HBMに見合うGPU性能がなければ,組み合わせる意味がない。その意味では,第2世代MaxwellベースのGPUは,現行のグラフィックスメモリ技術であるGDDR5と,とてもバランスのとれた演算性能を持っている。
それがPascal世代になれば,HBMに見合う演算性能に跳ね上がる予定さ。期待しててくれよ。
HBMは高速性能ばかりが取り沙汰されるけど,低消費電力という面でも優れているんだよ。つまり,現行GPUよりも電力あたりの性能を改善してから組み合わせるべきなんだ。それには入念なエンジニアリングが必要だと思う。
インタフェースだけHBM対応に切り替え,メモリを差し替えただけで「ハイできました」ではダメだろうね。その意味では競合のはどうなんだろう? 楽しみだよ(笑)。
――JEDEC標準規格の広帯域メモリ技術「Wide I/O 2」を採用せず,NVIDIAとしてHBMに向かう理由は何か。
Peterson氏:
どちらかといえば,Wide I/O 2はモバイル向けのソリューションだからだ。今のところ,我々の選択肢ではない。
――2015年4月にHDMIアソシエーションが,ハイダイナミックレンジ(HDR)出力に対応する「HDMI 2.0a」を発表した(関連記事)。NVIDIAは,競合に先駆けてHDMI 2.0対応を実現したので,当然,HDMI 2.0aにも関心があると思われるが,対応の予定はあるのか。
Peterson氏:
HDR出力やHDMI 2.0a対応の液晶ディスプレイがまだ存在しないから何ともいえないが,ゲームスタジオと一緒に普及させていかなければならない技術ではあるだろう。
言い換えると,HDR出力を効果的に利用したコンテンツと一緒にHDMI 2.0aを訴求して,ゲーマーがHDR対応液晶ディスプレイを欲しがるような状況を作り出していく必要があるということだ。それはG-SYNCと同じで,少し時間をかけて業界に新しい潮流を作り出していく必要があると思う。
――競合はGPUやAPUに「Preemption」や「Context Switch」の仕組みを導入している(関連記事)。これらはGPGPU用途に適した技術であり,GPGPUに注力しているNVIDIAが遅れをとっているのが不思議だ。
Peterson氏:
現在のGPUコンピューティングのアプリケーションでは,そうした仕組みを効果的に使うことで性能を上げられるケースが少ないから,対応への優先度が低いのかもしれない。
DirectX 12の「MultiAdapter」機能は,アプリケーションやゲームエンジンが複数のGPUを目的別に使い分けられるものとして競合がプッシュしているようだけれど,これも先ほどの例と同じで,ゲームスタジオとともに,慎重に推進していく必要があるだろうね。
[COMPUTEX]NVIDIA,ノートPC向け「G-SYNC」を発表。ようやく「G-SYNCモジュールが何をしているのか」が明らかに
NVIDIAのG-SYNC公式情報ページ
- 関連タイトル:
G-SYNC
- この記事のURL: