ニュース
トランジスタが70%増でも性能が最大4倍になったGeForce RTX 4090のカラクリ
2022年9月22日 15:03
米NVIDIAは20日(現地時間)、新世代アーキテクチャ「Ada Lovelace」(以下Ada)に基づくGPU「GeForce RTX 40」シリーズを発表した。最上位の「GeForce RTX 4090」は従来のAmpereアーキテクチャの最上位モデル「GeForce RTX 3090 Ti」より少なくとも2倍、最大で4倍も高速だとしており、1世代でこれだけの性能の飛躍が達成できたのに驚く人も少なくはずだ。
確かにAdaは、製造プロセスが従来のSamsungの8nmプロセスから、TSMCの4nm(カスタム4N)プロセスに進化しており、集積できるトランジスタ数が多くなっている。また、動作クロックの向上に伴う高速化はある。しかしAdaでは新たに工夫を取り入れることで、半導体プロセスの進化に縛られない性能向上を果たしている。CPUにたとえるなら、新命令を実装して特定の処理を高速化するようなイメージである。
レイトレーシングの進化に追いつかない半導体の進化
グラフィックスにおける近年のトレンドは間違いなくリアルタイムレイトレーシングだ。2018年のGeForce RTX 20シリーズによるリアルタイムレイトレーシングの導入以来、対応ゲームが増加してきている。
問題は、最新のゲームではピクセルあたりのレイトレーシング処理は爆発的に増えていることだ。2018年にリリースされた「Battlefield V」では、1ピクセルあたり39回のレイトレーシング処理をしていたのだが、最新の「Cyberpunk 2077」では635回と、処理数は実に16倍にも達する勢いだ。
一方でトランジスタ数はこの4年間で“わずか”4倍にしかなっていない(Turing世代のGeForce RTX 2080は186億、4090は760億)。グラフィックスは並列処理が可能なのでトランジスタ数を増やせばほぼリニアに性能が向上するが、それでもグラフィックス自体の進化には追いつかないということになる。
そこで、Adaではリアルタイムレイトレーシングを効率よく実行するための仕組みを取り入れることにした。ちなみにいずれもDirectX 12のリアルタイムレイトレーシングAPI「DXR」に準拠しているものの、“拡張”扱いとなっており、ゲーム開発者が対応する必要がある。このため既存のゲームがすぐさま恩恵を受けて高速化されるというわけではない。もっとも、配信でアップデートして対応させることは可能ではある。
Shader Execution Reordering
Shader Execution Reordering(SER)はレイトレーシングによって並列処理不可能となってしまったシェーディング処理をオンザフライで並べ替えて、シェーダーが並列して効率よく実行できるようにするための拡張である。この機能はゲーム開発者向けに開放され、ゲーム開発者は必要に応じてSERを有効化できるとしている。
NVIDIAよれば、「Cyberpunk 2077」において「Overdrive Mode」と呼ばれるレイトレーシングモードが追加される予定なのだが、SERを使うことで性能が44%向上するという。また、RTX対応のリメイク版としてリリース予定の「Portal with RTX」では29%、全てがシミュレーションによって構築されたゲーム「Racer RTX」では20%の性能向上を実現できるとしている。
Micro-Mesh
Micro-Meshは、具体的には「Displaced Micro-Mesh」と「Opacity Micro-Map」に分けられる。どちらも生き物や植物といった非常に細かいものの表現を行なう際に有効だ。それぞれ別のSDKとなっており、一方だけもしくは両方同時に利用できる。
Displaced Micro-Meshは高精細なジオメトリに対して有効な機能。Ampereで高精細なジオメトリに対してレイトレーシングを行なおうとするとBVH(Bounding Volume Hierarchy:階層的バウンディングボリューム)が複雑化してしまい、メモリを消費する要因となっていた。Micro-MeshではシンプルなトライアングルデータをだけBVHに持ち、その1つトライアングルに対して変位マップデータをRTコア内で適用することで後から複雑なジオメトリを実現するものである。
一方Opacity Micro-Mapは、複雑なジオメトリをトランアングルやマイクロメッシュに効率よくマッピングする機能。たとえば、従来のアルファテクスチャを利用して植物の葉の詳細を再現しようとする場合、非透過である葉の部分までヒットシェーダーを呼び出す必要があったが、Opacity Micro-Mapを使えば葉のエッジ部分だけシェーダー処理すればよくなり、効率が高まる。フォグのような表現でも非常に有効だとしている。
ついに中間フレームを生成するようになった「DLSS 3」
NVIDIAが謳う性能向上のうち、もっともゲームのフレームレート向上に役立っていると言っても過言ではないのが「DLSS 3」技術である。
周知の通り、DLSSは低解像度の画面を、AI処理を用いて疑似的に高解像度化することで性能向上を図るものである。たとえば、4K(3,840×2,160ドット)の画像に対しフルHD(1,920×1,080ドット)はピクセル数が4分の1しかないためその分処理が軽い。フルHDで描画された画像に対し、負荷が軽い高解像化技術を適用して4Kで出力すれば、4Kの高精細をフルHD相当の負荷で描画可能になる。
DLSS 3では 実際にDLSSによって超解像化された後の画像と画像の間のフレームを、AI処理によって生成するのが最大のポイント。ざっくり言えば、30fpsでしかレンダリングできなくても、その間のフレームを補完するため60fpsを実現できる、ということになる。上のフルHD→4K超解像の例で言えば、実際にレンダリングされるピクセルは8分の1だけになり、残りの8分の7はAIによって補完されたものになるというわけだ。これによりフレームレートは飛躍的に向上する。
フレームの生成は過去のフレームの動きの分析から行なうわけなのだが、ここで最大の課題となるのが自キャラなどの影である。自キャラが移動すると、画面内では地面が一番大きく動くのだが、その地面に映った影は地面とともに動かず、自キャラ(カメラ)とともに動く。つまり、何も考えずにAIでフレーム生成をすると、地面に映った影がそれにくっついて動き、その次のレンダリングで正しく描画されて元の位置に戻る……つまりブレる現象が発生してしまう。
そこでAda世代では「Optical Flow」と呼ばれる技術を導入。従来のエンジンの動きのベクトルを分析して生成するだけでなく、影を含む、どの要素がカメラとともに動くべきものなのかを分析して正しくフレーム生成するようにした。
なお、DLSS 3ではレンダーキューを省いてレイテンシを削減するReflexについても機能の一部として取り込まれ、UnityやUnreal Engineがサポートすることで容易に実装できるようになった。Reflex自体はGeForce GTX 900シリーズ以降で有効。
今日のゲームは2倍、将来のゲームは4倍以上の性能改善も
このようにリアルタイムレイトレーシングの改善と、DLSS 3という新技術により大きな性能向上を果たしたGeForce RTX 40シリーズ。プロセスルールの進化と集積トランジスタ数の増加の効果も合わさって、現行世代最新のGeForce RTX 3090 Tiと比較して、4090では最新タイトルで1.5~2倍程度の性能向上を果たしている(一部はアップデートによるDLSS 3対応を含んでの計算だと思われる)。
その一方で、SERやMicro-Mesh、DLSS 3といった最新技術をふんだんに盛り込んだ次世代ゲームなら、4倍の性能向上も実現できる。これがNVIDIAが「最大4倍」とする根拠だろう。
なお、現時点でAda最下位の「GeForce RTX 4080 12GB」でも、3090 Tiと同等以上の性能を発揮できる。4080 12GBの電力は285Wと3090 Tiの450Wと比較しても大幅に低く、電力効率の大幅な改善も確認できる。
また、ほとんどのeスポーツタイトルで、2,560×1,440ドットの解像度でも300fps超えを実現できるのもGeForce RTX 4090の強み。今後新たなeスポーツスタンダードを築くこととなる。