ニュース

GeForce GTX 1080の同時マルチプロジェクションがもたらすディスプレイ革命

GeForce GTX 1080
Nick Stam氏

 PC Watchではこれまで2回に渡って、GeForce GTX 1080の特徴を紹介してきた。1つは3Dレンダリング周りの改善で、もう1つは(GeForce GTX 1080でなくとも使えるのだが)3Dゲーム内において自由な視点で“写真”が撮れるAnsel機能だ。本稿では、18日に開かれた製品説明会でのNick Stam氏の解説を交え、これまで紹介していなかったそのほかの特徴について解説する。

ディスプレイの革命をもたらす「Simultaneous Multi-Projection」

 3台のディスプレイによるサラウンド環境で3Dゲームをプレイしているユーザーなら、誰もが一度は体験したことがあると思う。没入感や見やすさを高めるために左右の2台のディスプレイを自分に向けて内側に“折り曲げる”のだが、折り曲げたところでそのディスプレイに写った3Dオブジェクトの角度が変わるわけではないので、端に行けば行くほど伸びた映像となり、物理的なパースペクティブ(遠近感)が正しくなくなる。

 立体的な3Dのオブジェクトをディスプレイという平面に“投影”する時に、GPUはラスタライザを使って処理するのだが、これまでのラスタライザだと1つの固定された平面の枠からしか見ることができない。カメラで言えば、思いっきり広角端に振った時に撮った1枚の写真である。

 しかしディスプレイを3枚内側に向けて置くということは、それぞれの3つの角度に向けてカメラが撮った写真を並べるということだ。つまり3つの視点から3Dオブジェクトを見ることになる。これを従来のラスタライザで実行しようとすると、それぞれの視点向けにポリゴン頂点を演算し直す必要があり、特にテッセレーションを使ったジオメトリが複雑なシーンでは、極めて非効率的だった。

 そこでNVIDIAは「Simultaneous Multi-Projection」(同時マルチプロジェクション:以下SMP)と呼ばれる機能を実装した。SMPを利用すれば、ジオメトリを演算し直すことなく、最大16視点を設定できる。この機能は出力段の「PolyMorph Engine」に内蔵され、4.0という新しいバージョンとなった。

PolyMorph Engine 4.0で新たに導入されたSimulataneous Multi-Projection機能

 もちろんソフトウェアでの対応が必要になるが、このSMPにより、3枚のディスプレイによるサラウンド環境で、左右のディスプレイのパースペクティブを正すことができるようになったわけだ。

これまでの3枚のディスプレイ環境
このように横一列に並べた場合、特にパースの問題は生じない
しかしこのように左右のディスプレイを内側に向けると……
遠近法により、ユーザーにはオブジェクトのパースが歪んだように見えてしまう
SMPにより、左右それぞれのディスプレイにそれぞれの視点を設定してあげると……
自然なパースとなった

 また、VRにおいては、左右両目の映像は単純に軸をずらしただけのもののため、SMPの採用により先述の冗長のジオメトリ演算を削除でき、シングルパスで両目の映像がレンダリングできるようになった。同社はこれを「シングルパスステレオ」と呼んでいる。

 さらにVRにおいては、多くのヘッドセットで、目のすぐ近くにあるディスプレイを見えるようにするためにレンズによる補正が入っているのだが、レンズの補正による歪みが生じるため、端の映像を逆に歪ませる。これにより画素数が削られることになる。例えば従来のGPUでは、Oculus Rift向けに片目あたり210万画素の画像を生成していたが、実際に表示されるのは110万画素程度であり、約100万画素が捨てられていた。

 そこでGeForce GTX 1080ではSMPの仕組みを使い、歪みを考慮した投影角度に合わせて、片目あたり4つの視点を設定してラスタライズをする。こうすることで出力画素数は140万画素と、最終的な110万画素に近づけることができるようになり、捨てられる画素を減らし無駄を抑えることができるようになった。NVIDIAはこの仕組みを「レンズマッチドシェーディング」と呼んでいる。

 結果的に、VR時はシングルパスステレオによってジオメトリのスループットが2倍となり、レンズマッチドシェーディングによってピクセルのスループットが1.5倍となった。つまりSMPこそが、GeForce GTX 1080が従来のGeForce GTX TITAN Xと比較して、VR性能を2倍以上向上させられた“カラクリ”なのだ。

これまでのGPUではマルチプロジェクションが搭載されていないため、VRのヘッドセットでは右目用と左目用それぞれでジオメトリを再生成しなければならず、スループットが2分の1となっていた
SMPを利用することで、シングルパスでステレオ画像を生成できる。このため、ジオメトリのスループットを2倍に高められる
レンズの歪に合わせて、片目あたり4つの視点でラスタライズする「レンズマッチドシェーディング」
結果的に420万画素から280万画素にレンダリングする画素を抑えられ、1.5倍のピクセルスループットを実現する

HDRディスプレイへの対応

 HDRをサポートするBT.2020色域では人間が認識できる色の75%をカバーする。また、HDRディスプレイは1,000cd/平方m以上の輝度や、10,000:1のコントラスト比を実現すると言われている。

 GeForce GTX 1080では、12bitカラーやBT.2020への準拠、HDMI 2.0bへの対応(10/12bitで4K HDRをサポート)、4K@60Hz 10/12bit HEVCのデコード、4K@60Hz 10b HEVCのエンコード、そしてHDRメタデータ転送が可能なDisplayPort 1.4(ただ現段階では認証を通ったわけではなく、あくまでも準備完了段階)への対応を果たした。

 ちなみにHDR対応エンコーダの搭載により、Tegra Xを搭載したコンソールゲーム機「SHIELD」に対しHDRでストリーミングを流すことも可能となった。これによってHDR対応のPCゲームを、SHIELDを通してHDR対応のTVに出力してプレイできるようになった。

 3Dゲームについては、多くのゲームでは既に内部で16bit対応が行なわれているため、HDRへ対応済みとも言えるのだが、レンダリング時にSDRに精度を落として出力をしていた。HDRで出力するためにはレンダラーを作り直す必要がある。NVIDIAではAPIとドライバのサポートを各ベンダーに提供しており、HDR対応のタイトルももうすぐ出てくるという。

 なお、DisplayPort 1.4レディとなったことで、4K/120Hzのサポート、DisplayPort 1.3×2で最大7,680×4,320ドット@60Hzのサポートなどを実現した。このほかビデオ周りでは、4K@60Hz 2ストリームのH.264および同HEVCエンコード、4K@120Hz H.264および同HEVC、VP9のデコードなどが新たにサポートされた。

HDRの色域は人間が近くできる色の75%をカバーする
ビデオ周りもHDRへの対応が図られた
HDRビデオエンコーダの搭載により、SHIELDでのストリーミングプレイもHDRで可能
HDR対応予定のゲームタイトル

GPGPUの改善

 DirectX 12では、GPGPUをより活用したワークロードが増えるとしているが、従来のMaxwellではCPUのリソースを静的に割り当てることしかできなかった。例えばグラフィックスの処理に60%、汎用演算処理に40%のリソースを割り当てた場合、例えグラフィックスの処理が先に終わってリソースに空きが生まれたとしても、汎用演算は40%しかリソース占有できなかった。

 GeForce GTX 1080ではこの問題を解決するために、ダイナミックロードバランシング機能を搭載し、空いたリソースをすぐに別の処理に割り当てることができるようになった。

 加えて、プリエンプション機能も大幅に強化された。プリエンプションとは、あるタスクが実行されている最中に、別の優先度の高いタスクが発生した場合、現在実行中のタスクを中断して状態を保存、優先度の高いタスクを実行し、それが終わってから再度中断していたタスクを継続実行する機能だ。

 GeForce GTX 1080では、グラフィックスのプリエンプションはピクセル単位で行なうことができる。例えば三角形をラスタライズしている途中でも、ピクセル単位でいつでもほかのタスクに切り替えられる。この切り替えは100μs以内に行なわれるという。

 一方、DirectX 12の演算プリエンプションはスレッドレベルで可能。1つのスレッドの実行が終われば、100μs以内にほかのスレッドを実行できる。さらにCUDAによる演算タスクでは、命令単位でプリエンプションが可能。いずれにしても、粒度が非常に細かいレベルでプリエンプションできるわけだ。

 この機能はVRの非同期タイムワープにおいては重要だ。これまでのNVIDIA GPUではタスクの切り替えに時間を要していたため、ディスプレイがリフレッシュするタイミングの直前で非同期タイムワープをGPUに演算させようとすると、切り替え時間分の余裕を見越してタスクの実行を終える必要があった。しかしGeForce GTX 1080ではほぼいつでも100μs単位で切り替えができるようになったため、非同期タイムワープが来るギリギリのタイミングまでほかのタスクを実行することができるようになった。

ダイナミックロードバランシングに対応し、GPGPUのリソースを動的に割り当てられるようになった
グラフィックス描画ではピクセル単位、DirectXのGPGPUではスレッド単位、CUDAでは命令単位という粒度の細かいプリエンプションが可能
これまでのNVIDIA GPUでは、非同期タイムワープへのタスクの切り替えを行なうために余分の時間を持たせる必要があった
GeForce GTX 1080ではプリエンプションを高速に行なえるため、非同期タイムワープが実行される直前までほかのタスクを実行できる

性能を最大限に引き出す「GPU Boost 3.0」

 最後に、動的オーバークロックをするGPU Boostの挙動について紹介したい。これまでGPU Boost 2.0では、電圧に対するクロックは単純に比例していた。つまりクロックのオフセットしか設定できなかった。これでは、例えとある電圧ポイントにおいてより高いクロックを実際到達できていたとしても無視され、その分の性能が無駄になっていた。

 具体的に例を挙げてみよう。例えば1Vで1GHz、1.1Vで1.1GHz駆動できるGPUがあったとする。これまでのGPU Boost 2.0では単純に比例するので、その間の1.05Vは1.05GHzで、1.07Vは1.07GHzで駆動していた。しかし、実際には1.05Vで1.06GHzを実現できるかもしれないし、1.07Vで1.09GHzを達成できたかもしれない。GPU Boost 2.0ではこの“ヘッドルーム”が無駄となっていた。

 そこでGPU Boost 3.0では、1.05Vで1.06GHz、1.07Vで1.09GHz駆動を設定できるようにし、この問題を解決した。ちなみに現時点ではEVGAが開発した「Precision XOC」が対応しているが、まだGeForce GTX 1080自体がリリースされていないため、UIは暫定的で日々変化している状態だという。

 ちなみにGeForce GTX 1080は、1年前は1,325MHzでしか動作しなかったそうだが、GPU内部のパスの最適化を継続的に行なったことで、全てのパスで1,733MHzの動作を達成した。これについてNick氏も“職人技だ”と誇ってみせた。

EVGAのPrecision XOCでの設定画面。ご覧のとおり、ユーザーは電圧ポイントごとのクロックを設定できる
パスの最適化により、全てのパスで1,733MHz以上のクロックを達成した
GeForce GTX 1080の電力性能比は過去最高
そのほかリファレンスモデルの主な特徴

 なお、SLIブリッジについては、発表会では新たな情報が得られたので記しておこう。既報の通り、GeForce GTX 1080で一般的なSLIブリッジを使った場合2,560×1,440ドット@60Hzまで、NVIDIA純正のLED付きブリッジでは4Kまで、HBブリッジを使った場合はサラウンド環境や5K解像度を“推奨”としている。“必須”ではなく“推奨”としているのは、市場に出回っている一般的なSLIブリッジの種類や品質のバラつきが大きいため。例えばフレキケーブルタイプで品質が悪い場合、400MHzに制限されるが、品質が良いブリッジを使った場合、NVIDIA純正のLEDブリッジでなくとも650MHzで駆動できる。NVIDIAはSLIブリッジ個々について検証できないため、“推奨”表記となっているのだ。

 さらに言うと、HB BRIDGEになんら複雑な機構が入っているわけではないため、例えばフレキケーブルタイプのブリッジでも、2本同時に接続すればDual-link SLIモードとなり、品質が良ければ650MHz駆動できる。HBブリッジは、あくまでも確実にその動作が可能であるという、品質が確保された製品という位置付けだ。

GeForce GTX 1080はVRの本格的な幕開けを告げるモノとなるかもしれない

(劉 尭)