DirectXレイトレに新機能、テスト場面でメモリ約90%減 NVIDIA以外のGPUにも
7,519MiBが774MiBになった。Microsoftが公開したDirectX Raytracing(DXR)の新機能プレビューで、テスト場面のレイトレーシング用データが使うメモリは約90%減っている。
新機能は「Clustered Geometry」と「Partitioned TLAS(PTLAS)」の2つで、GPU側でデータの構築を指示できる「Indirect Acceleration Structure Builds」も一緒に入った。Microsoftは2018年にDXRが登場して以来、いちばん大きな更新だとしている。中身はNVIDIAが自社GPU向けに出している「RTX Mega Geometry」に近い仕組みで、今回はそれをDirectXの共通機能として各社のGPUで使えるようにした形だね(DirectX Developer Blog)。

変わった部分だけを「束」単位で作り直す
レイトレーシングでは、光線が何に当たるかを素早く調べるために、場面の形状を「アクセラレーション構造」というデータにまとめておく。物体ごとの構造がBLAS、場面全体をまとめる構造がTLASと呼ばれている。これまでは、キャラクターが動いたりデータがストリーミングで読み込まれたりするたびに、大きなBLASを丸ごと作り直す必要があった。重さの原因はここにある。
Clustered Geometryは、作り直す単位をずっと小さくする。モデルを最大256ポリゴン・256頂点の小さな塊(CLAS)に分け、その塊を並べてBLASを組み立てる。同じ塊は複数のBLASで使い回せて、変形するメッシュ向けには形だけを差し替える「テンプレート」の仕組みもある。

Partitioned TLASは、同じ考え方を場面全体に当てはめる。物体を「パーティション(区画)」に振り分けておき、変化があった区画だけを作り直す。Microsoftの説明では、TLASの構築にかかる手間を「場面全体の大きさ」ではなく「変わった量」に比例させることが狙いだという。頻繁に動く物体は専用の区画にまとめて扱う。広いマップで原点を動かすときのために、区画ごとに位置をずらす操作も用意されている。

NVIDIAが提供したドミノ倒しのサンプルでは、毎フレームTLASを全部作り直すと2.88ミリ秒かかるところ、PTLASなら0.79ミリ秒で済んでいた。光線を飛ばす処理そのものはPTLASのほうが少し遅くなるけど、差し引きでは得になる例として紹介されているよ。


RX 9070で1.2→79fpsに伸びた
約90%という数字は、MicrosoftがAMD Radeon RX 9070で動かしたサンプル「D3D12RaytracingClusteredGeometry」から出ている。従来のBLAS作り直しとClustered Geometryを比べた結果は次のとおり。

| 項目 | 従来のBLAS作り直し | Clustered Geometry |
|---|---|---|
| フレームレート | 1.2fps | 79fps |
| 構造の準備・構築(1フレーム) | 788ms | 3.11ms |
| レイトレーシング処理(1フレーム) | 72.6ms | 9.27ms |
| 動く物体の構造メモリ | 6,794MiB | 244MiB |
| 静止物の構造メモリ | 723MiB | 527MiB |
| 構造メモリ合計(TLAS込み) | 7,519MiB | 774MiB |
| 構築用の作業領域(静止物/動く物体) | 1.83MiB/8.25MiB | 526MiB/179MiB |

減り方がいちばん大きいのは動く物体のデータで、約96%減っている。ただ、構築時に一時的に使う作業領域は逆に大きく増えた。何もかも軽くなるわけではない。
数字そのものにも、公式ははっきりと但し書きを付けている。
これは一つの設定での結果にすぎず、設定や負荷、GPUによって結論は変わりうる。ゲームでこれほどの効果が出ると思わないでほしい。これはあくまでテスト用の遊び場だ。
(DirectX Developer Blogより・日本語訳)
テスト場面はわざと重く作ったものなので、遊んでいるゲームのVRAM使用量が明日から9割減る、という話ではないにゃ。とはいえ、作り直しの手間が「変わった分だけ」になる仕組みは、物が大量に動く場面ほど効いてくるはずだよ。
NVIDIAもAMDもIntelも対応した
機能はAgility SDK 1.722.0-previewに入っていて、Shader Model 6.10のプレビュー版と組み合わせて使う。今のところ開発者向けのプレビューで、試すにはWindowsの開発者モードも必要。正式版の時期はまだ示されていない。
新しいハードウェア機能はいらず、既存のレイトレーシング対応GPUで動く設計になっている。各社の対応状況は次のとおり。
- NVIDIA: すべてのRTX GPU。通常配布のドライバーで対応
- AMD: Radeon RX 9000シリーズ。Agility SDK向けのプレビュードライバーで対応
- Intel: Arc Bシリーズと、Core Ultra(200Vシリーズ、シリーズ3)の内蔵GPU
- Qualcomm: Snapdragon X2向けのドライバーを2027年の第1〜第2四半期に提供する目標
ほかの古いレイトレーシング対応GPUで使えるかどうかは、各社がドライバーを用意するかどうか次第で、まだ決まっていない。

ゲームで使われている例として名前が挙がったのは『Gears of War: E-Day』。ただしこちらはDirectXの共通機能ではなく、NVIDIA独自のRTX Mega Geometry経由で同じ考え方を取り入れている(NVIDIA)。これまでNVIDIAのGPUでしか使えなかった手法が、ゲーム側から見れば各社共通の入口で呼び出せるようになる。今回のプレビューでいちばん大きく変わるのはそこだね。
開発中のNVIDIAのサンプルは、6,000万本を超える植物が25平方kmに広がる森を、すべてパストレーシングで描いている。そのスクリーンショットも公開された。ここまで大量の物体を光線で追う場面が、特定のメーカーのGPUに限らず作れるようになりつつあるにゃ。

関連記事
NVIDIAの「RTX Spark」搭載PCが発売、Arm版Windowsで遊べるゲームを広げる
NVIDIAのWindows PC向けスーパーチップ「RTX Spark」の搭載ノートが発売されたにゃ。中身はBlackwell GPUとArmのGrace CPUの1チップ構成。Microsoftと組んで、x86のゲームやアンチチートへの対応も進めているよ。
Xbox CEO、動く『The Elder Scrolls VI』を視察 ― サブタイトルは伏せ字8文字で示唆
Asha Sharma CEOが現地時間8月11日、Xへ「The Elder Scrolls VI: ********」の一文を投稿。伏せ字の数からサブタイトル探しが始まったにゃ。
ベセスダの組合、モントリオール開発者に「法定最低限」の解雇通知と告発 ― Fallout新作発表と同じ日
7月6日には「9月までは在籍」と説明されていたはずが、17日の終業間際にメールで解雇通知。ベセスダの従業員組合が、カナダの対象者に示された条件を公開したにゃ。

コメント (0)
最初のひとことをどうぞ🐈
感想でも「わかる」の一言でも大歓迎。あなたのコメントがこのページの一番乗りです。