GPUの「レイトレーシング処理」改良の歴史をひもとく【Radeon RX 7000シリーズ編】:レイトレーシングが変えるゲームグラフィックス(第6回)(4/5 ページ)
PC用GPUにおけるリアルタイムレイトレーシングの実装において、遅れを取ったAMD。その実装方針は、NVIDIAとも異なっていて興味深い。Radeon RX 6000シリーズ(RDNA 2)からRadeon RX 7000シリーズ(RDNA 3)への進化に当たり、レイトレーシングユニットにどのような改良が加えられたのか、解説する。
改良ポイント3:不要な「テクスチャー読み出し」の放棄
3つ目の改良ポイントは、まず下に示すスライドを見てほしい。最上段にある「青と赤のマス」の図解がそれだ。
青いマスは「有効な衝突レイによるテクスチャーの読み出しリクエスト」、赤いマスは「読んでも読まなくても構わないリクエスト」を表していると考えてほしい。
この図解を概説すると、「レイが衝突した先のポリゴンに設定された各材質ごとの陰影計算を、プログラマブルシェーダーを呼び出して行う際に、新しい最適化処理を2つ組み込んだ」というものになる。
3Dグラフィックスに明るい人なら、この説明を見て「これって、GeForce RTX 40シリーズの「SER(Shader Execution Reordering)」と同じような機能じゃない?」と思うかもしれない。しかし、実際にやっていることは全然違う。順を追って説明しよう。
まず大前提の知識として、レイトレーシング処理をする場合でも、ライティングや陰影処理の実務は結局、RTユニットではなくプログラマブルシェーダーユニットが担当する。このことは、この連載を読んできた読者なら改めて解説する必要もないだろう。
このことを踏まえた上で、レイトレーシングの処理系を改めて思い出してみよう。レイが衝突した先のポリゴンに設定された各材質ごとの陰影計算の実務は、プログラマブルシェーダーが呼び出されて実行される。その際に、プログラマブルシェーダーは材質表現にひも付けられているテクスチャーを読み出すことになる。
テクスチャーを読み出すには、テクスチャーアドレスの計算が必要だ。そのテクスチャーにMIPMAP(ミップマップ)が設定されている場合は、そのレベルも算定しなければならない。最終的なテクスチャーの読み出し値は、「1点読み出し(ポイントサンプル)ではなく、MIPMAPを絡めて複数点を読み出した上で計算された「特殊な加重平均(異方性フィルタリングなど)」となる。
AMDの分析によると、近代GPUで実践されるリアルタイムレイトレーシングの処理系では、この特殊な加重平均を行う処理系が大きなボトルネックになっているケースが多いのだという。先代のRDNA 2におけるRTユニットでは、言葉を選ばずにいえば“ばか正直に”この処理を行っていた。「その何が問題なのか?」と思うかもしれないが、そうなるとMIPMAPレベルの算定段階で「テクスチャーを読んでも読まなくても結果に差異なし」というレイに対しても、後段の処理が行われてしまうことが問題となる。
そこでRDNA 3のRTユニットでは、プログラマブルシェーダーユニットに陰影処理を外注する前に、RTユニット側からテスクチャのMIPMAPレベルの算定を行えるメカニズムを導入した。これが本改良の第1ステップとなる。
続く第2ステップは、「テクスチャーを読んでも読まなくても結果に差異なし」と見込まれるリクエストを“捨てる”処理系の実装だ。このステップを踏むことで、本当に必要な陰影処理だけが、プログラマブルシェーダーで実践されることになる。
先に挙げたスライドの図解はとても難解だが、結局は有効なテクスチャーの読み出し(=青いマス)だけを有効化し、不要なテクスチャーの読み出し(=赤いマス)は破棄するという説明だったのだ。
リアルタイムレイトレーシング技術において、AMDは「テクスチャーのフィルタリング処理は、非常に重要な処理系だ」「この処理系の高効率化は、レイトレーシングのパフォーマンスと、画質の最適化にも直結する」と主張している。地味ながらも、大きな効果を発揮しているのだろう。
先に挙げた改良と同様に、既存のレイトレ対応ゲームもプログラムの改修なく恩恵にあずかれるので、即効性の高さが期待できる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
GPUの「レイトレーシング処理」改良の歴史をひもとく【GeForce RTX 40シリーズ編】
主にPCゲームで使われるグラフィックス回りについて解説する連載を、約1年ぶりに再開。3回(予定)に分けて、GPUにおけるリアルタイムレイトレーシング(RT)処理がどのように改良されていったのか見ていこうと思う。今回は、NVIDIAの「GeForce RTX 40シリーズ」における改良だ。
GPUの「レイトレーシング処理」改良の歴史をひもとく【GeForce RTX 30シリーズ編】
主にPCゲームで使われるグラフィックス回りについて解説する連載を、約1年ぶりに再開。3回(予定)に分けて、GPUにおけるリアルタイムレイトレーシング(RT)処理がどのように改良されていったのか見ていこうと思う。今回は、NVIDIAの「GeForce RTX 30シリーズ」における改良だ。
ゲームの中で「レイトレーシング」はどう使われる? 実例を見てみよう
最新ゲーム機が対応したことで注目を集めている「レイトレーシング」という言葉。前回の記事ではその技術的概要を紹介したが、RT(リアルタイムレイトレーシング)の黎明(れいめい)期に登場したデモプログラムや現在のゲームを通して、この記事ではレイトレーシングがゲームのグラフィックスにどのように使われているのかチェックしていく。
費用対効果に優れ、動画に強みあり――「Radeon RX 7900 XT」「Radeon RX 7900 XTX」は真に“強い”GPUなのか?
AMDの新型GPU「Radeon RX 7900 XT」「Radeon RX 7900 XTX」を搭載するグラフィックスカードが12月16日19時に発売される。それに先駆けて、両GPUを搭載するAMD自社開発グラフィックスカードを使って“実力”をチェックしていこう。
AMDの新GPU「Radeon RX 6000」シリーズ正式発表 DirectX 12 Ultimate対応で579ドル(約6万円)から
AMDが、RDNA2アーキテクチャに基づく新GPUを搭載するグラフィックスカードを正式リリースした。DirectX 12 Ultimateに対応し、リアルタイムレイトレーシングも利用可能だ。同社のRyzen 5000シリーズと組み合わせると、さらにパフォーマンスが向上する仕組みもある。
