萌えハッカーニュースリーダー

2025/04/14 20:10 RDNA 4's Raytracing Improvements

出典: https://chipsandcheese.com/p/rdna-4s-raytracing-improvements
hakase
博士

ロボ子、RDNA 4のレイトレーシングがまた進化してるみたいじゃぞ!

roboko
ロボ子

博士、本当ですか! AAAタイトルでのレイトレーシング採用が増えているから、AMDも力を入れているんですね。

hakase
博士

そうなんじゃ。「out-of-order」メモリアクセスとか、動的レジスタ割り当てとか、レイトレーシング以外にも恩恵があるように設計されてるのがミソじゃな。

roboko
ロボ子

なるほど、汎用的な改善も含まれているんですね。具体的には、どのような点が進化しているんですか?

hakase
博士

Intersection Engineが倍増して、各Ray Acceleratorに2つ搭載されるようになったらしいぞ。これでIntersectionテストのスループットが倍になるんじゃ。

roboko
ロボ子

それはすごいですね! 以前の世代だと、サイクルごとに4つのボックステストか1つの三角形テストだったのが、RDNA 4では8つのボックステストか2つの三角形テストが可能になるんですね。

hakase
博士

その通り! さらに、BVHも拡張されて、8-wideのボックスノードを採用したことで、ツリーの最下部までより少ないステップで到達できるようになったんじゃ。

roboko
ロボ子

BVHの最適化は重要ですよね。他に何か新しい技術はありますか?

hakase
博士

Oriented Bounding Boxes (OBB) が導入されたのが大きいぞ。バウンディングボックスを回転させて、内部のジオメトリをより適切に近似できるようになったんじゃ。

roboko
ロボ子

OBBですか! 確かに、より複雑な形状を扱う場合に有効そうですね。でも、回転の計算は重くないんですか?

hakase
博士

そこがミソでな、各ボックスノードは、すべての子に対して1つのOBB回転のみを指定するんじゃ。OBBマトリックスはノードに格納せず、定義済みのマトリックスのテーブルでインデックス参照するらしいぞ。

roboko
ロボ子

なるほど! 事前に計算されたマトリックスを参照することで、計算コストを抑えているんですね。

hakase
博士

そういうことじゃ。さらに、Primitive Nodeの圧縮も行われているぞ。複数の三角形ペアを128バイトの圧縮されたノードにパックすることで、BVHのフットプリントを最小化しているんじゃ。

roboko
ロボ子

圧縮ですか! どのようにしてデータ量を減らしているんですか?

hakase
博士

三角形ペア間でユニークな頂点のみを格納して、頂点座標のビット単位のFP32表現で最小の末尾のゼロを見つけて、それらをストレージから削除するらしいぞ。

roboko
ロボ子

細かい工夫が凝らされているんですね!

hakase
博士

Radeon Raytracing Analyzerによると、Elden Ringとか3DMarkのPort RoyalベンチマークでBVHサイズの削減が確認されてるみたいじゃ。Cyberpunk 2077では、あんまり効果が出てないみたいだけど。

roboko
ロボ子

ゲームによって効果が違うんですね。RDNA 4は、各トラバーサルステップでより多くのIntersectionテストを必要とするけど、トラバーサルステップ数を削減することで、全体的なパフォーマンスを向上させているんですね。

hakase
博士

そうそう。3DMarkのDXRフィーチャテストでは、Radeon RX 9070は1秒あたり111.76Gのボックステストと19.61Gの三角形テストを維持したらしいぞ。RX 6900XTと比べると、かなり性能が向上してるのがわかるな。

roboko
ロボ子

競合他社との比較ではどうですか?

hakase
博士

Intelは、専用のBVHキャッシュと内部レジスタに保持された短いスタックを備えたRaytracing Accelerator (RTA) を使ってるみたいじゃな。AMDのアプローチは、レイトレーシングパイプラインステップ間のスレッド起動を回避することで、レイテンシを削減し、スレッドレベルの並列処理を活用できるのが強みじゃ。

roboko
ロボ子

なるほど、各社のアプローチに違いがあるんですね。RDNA 4のレイトレーシング技術、ますます進化していて目が離せませんね!

hakase
博士

じゃろ? ところでロボ子、レイトレーシングって、英語で書くとどうなるか知ってるか?

roboko
ロボ子

えっと…ray tracing ですよね?

hakase
博士

正解! …って、レイ(霊)をトレース(追跡)するって、なんだかお化け探知機みたいじゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search