Microsoftは、SSDを活用してVRAM使用量を制限することで、レイトレーシング(およびパストレーシング)のメモリフットプリントを削減する新しい特許を公開している。
現在、より多くのゲームがレイトレーシングやパストレーシング技術を利用し、ゲーマーに没入感のあるリアルなビジュアルを提供しているが、これにはすべてコストがかかる。Microsoftは、論文「Systems and methods for ray tracing acceleration structure level of detail processing」の中で、レイトレーシングとそれに関連するアクセラレーション構造はソフトウェアによって編集/再生成されると述べている。
この特許では、レイトレーシング・パイプラインを、詳細レベル(LOD)・システムで最適化できるアクセラレーション構造として説明している。これは、オブジェクトのバウンディングボリューム階層に対応するレジデンシーマップによって達成される。グラフィックス処理システムは、このマップを使用して、適切なタイミングでどのような品質レベルのオブジェクトが必要かを決定することができる。
ビデオゲームや他のそのようなアプリケーションの一部として、レイトレーシングのためのアクセラレーション構造は、潜在的に見えるジオメトリの現在のセットを反映するために、ソフトウェアによって明示的に編集または再生成されることが増えている。このようなアクセラレーション構造は、現在、ジオメトリやテクスチャデータなどの他のデータとストレージ(永続的(フラッシュメモリなど)および非永続的(RAMなど)の両方)を競合している。
このようにアクセラレーション構造がメモリに占める割合が増加した結果、システムで必要とされるメモリ容量が著しく大きくなっている。さらに、アクセラレーション構造用の大量のデータをフェッチするために必要な帯域幅も、比例して大きくなっている。本論文で説明するシステムおよび方法は、レイトレーシングのアクセラレーション構造に必要なスペースを最小限に抑えるのに役立つ。
したがって、アクセラレータ構造に関連するデータをより適切に取り扱うためのシステムおよび方法が必要とされている。
これを複雑にしないために、Microsoftの特許は、ゲームが3D環境ですでに使用している設計思想を提案している。普段良く一人称視点や三人称視点の3Dゲームをプレイしている人なら馴染みがあると思うが、キャラクター周辺の近い部分にあるオブジェクトの描写は詳細に行われていても、一定の距離を離れた遠景に関しては、地形の品質やテクスチャの品質が低下する様子を見たことがあるはずだ。これは、目立たない部分や必要のない部分の画質を下げることで、パフォーマンスを上げるためのコスト削減策である。
特許によると、こうしたLODシステムが代わりにレイトレーシング・パイプラインに適用され、その全体的なメモリ・フットプリントを削減する事に寄与するという。
これは潜在的に素晴らしい最適化であり、将来的に深刻なメモリ節約(およびパフォーマンス向上)の意味を持つ可能性がある。どうやら、今日のレイトレーシングの設計思想には、レイトレーシングの品質をその場で上げたり下げたりできるLODシステムがないようで、シーンのレンダリングにストレージ側でコストがかかるようになっている。
技術的には、現在のRT実装は、レイトレーシングが持つパフォーマンスペナルティを隠すために、DLSS、FSR、XeSS、またはチェッカーボーディング(コンソールアップスケーリング)などのアップスケーリング技術を多用することでこれを回避している。しかし、レンダリング解像度に依存しないレイトレーシング・パイプライン専用のLODシステムを持つことで、開発者はパフォーマンスを最適化する方法について、より多くの柔軟性を得ることが出来るのだ。
現実の世界では、このシステムによって、VRAMに制限のあるグラフィックスカードが、最新のレイトレーシング・ゲームでより実用的になるはずだ。特に、VRAM容量が性能のボトルネックとなっているゲームにおいて、8GBや10GBのGPUがRTを有効にしてスムーズなフレームペーシングを実現するのに役立つ可能性がある。もしかしたら、Microsoftが今回取得した特許は、ハードウェアアクセラレーションRT機能を備えた6GBおよび4GB(すなわちモバイル向け)のGPUでもレイトレーシングをよりプレイしやすくする可能性がある。このシステムは、PlayStation 5のようなコンソールが、メモリに制約のある環境でよりプレイしやすいレイトレーシング性能を実現するのにも役立つだろう。実際のところ、現在のGPUは16GBのメモリを搭載しているにもかかわらず、ゲームからアクセスできるのは12GB程度だ。
これがどうなるかは興味深いところだが、1つ確かなことは、SSDのようなより高速なストレージデバイスを活用することが、レイトレーシングのパフォーマンスを加速させる助けになるということだ。
この特許では、アクセラレーション構造に関連するデータのプールをより管理しやすくするなどの解決策が挙げられている。これらはメモリ内に保存するか、SSDのようなストレージ・デバイスに保存することができる。
MicrosoftのDXR APIは、HDD/SSDを最大限に活用した実績のあるMicrosoftのDirect I/Oスイートと連動させることができ、既にSSDはPCIe 5.0によって転送速度が大幅に向上しており、このアイデアの実現がより現実的な物になっている。
論文
- Google Patents: System and method for accelerated ray tracing
参考文献
研究の要旨
グラフィックス処理ユニット(GPU)は、ソフトウェア実装のシェーダプログラムを実行するように適合された1つまたは複数のプロセッサコアと、光線とバウンディングボリュームおよびグラフィックスプリミティブとの交差を計算するために加速構造をトラバースするように適合された1つまたは複数のハードウェア実装のレイトレーシング・ユニット(RTU)とを含む。RTUは、加速構造をトラバースするためのトラバーサルロジック、スタック管理、およびシェーダの負担を軽減するための他のタスクを実装し、交差をシェーダに伝達し、シェーダは、交差が交差するオブジェクトの透明な部分に当たるか不透明な部分に当たるかを計算する。このように、GPU内の1つまたは複数の処理コアは、処理の側面をRTUにオフロードすることによって、加速されたレイトレーシングを実行する。RTUは、3D環境が表現される加速構造をトラバースする。
コメントを残す