Apps

GDC 2024レビュー:パストレーシング、アップスケーリング、CPUキラー技術

GDC 2024レビュー:パストレーシング、アップスケーリング、CPUキラー技術
会議センターの外に掲げられた「GDC」と書かれた横断幕。
ジェイコブ・ローチ / デジタルトレンド

今週のReSpecはちょっと様子が違います。サンフランシスコの晴れた日に開催されたゲーム開発者会議(GDC)で一週間を過ごし、会議を駆け回りながら、少しでも文章を書く時間を見つけようとしていました。

通常のコラムの代わりに、今週のGDCで私が見たものを紹介する、新しく開始したReSpecニュースレターから抜粋した記事を掲載することにしました。毎週同じニュースレターを受信ボックスに配信してほしい方は、今すぐ登録して限定コンテンツを入手してください。

おすすめ動画

パストレーシングは嘘だ

暗い環境を示す Alan Wake 2 のスクリーンショット。
ジェイコブ・ローチ / デジタルトレンド

「嘘」というのは強すぎる言葉かもしれませんが、パストレーシングはゲームへの実装となるとかなり難しいものです。GDCで『サイバーパンク2077』『アラン ウェイク2』の両方のパストレーシングに関するセッションに参加したのですが、どちらもプレイ可能なフレームレートでリアルタイムに実行されるゲームでパストレーシングを活用するための共通のアプローチについて説明していました。その手法は「ReSTIR Direct Illumination」と呼ばれています。

まず、パストレーシングの仕組みを説明します。ピクセルを1つ選び、そこからカメラに向かって線を描きます。線は何かに衝突して跳ね返ります。そして、シーンの中を跳ね回りながら進み続け、最終的にどこかへ消えるか、光源に辿り着きます。開発者は、特に影を計算する際に、光源に辿り着くパスを求めます。

リアルタイム処理のあらゆる場面で問題となるのは、この処理が非常に高コストであるということです。実際に使用されるのはほんの一部であるにもかかわらず、すべての光線と反射を計算すると、膨大なリソースを消費します。そのため、パストレーシングは長らくオフラインの手法として利用されてきました。つまり、考えられるパスをすべて計算し、平均化する必要があるのです。

しかし、 『Alan Wake 2』『サイバーパンク2077』ではそうではありません。直接光の場合、ReSTIRはシーン内の光源に重み付けを行い、その中から選択した光源のみをサンプリングします。そして、これらのサンプルは時間的(フレーム間)および空間的(近隣のピクセルと)に共有されます。『Alan Wake 2』のようなゲームでは、駅構内の青と赤の「シネマティック」ライトなど、特定の光源に重み付けが重くなっています。

その結果、画像の生成速度が大幅に速くなり、アップスケーリングとフレーム生成を適度に行うことで、適切なフレーム レートでゲームをプレイできる程度には速くなります。

これは興味深い情報であり、Alan Wake 2Cyber​​punk 2077の巨匠開発者たちが自分たちの作品を共有するようになることで、今後さらに一般的になることを期待します。

マイクロソフトはアップスケーリングに反対している

GDC セッションのステージ上の Microsoft プレゼンター。
ジェイコブ・ローチ / デジタルトレンド

GDCで、MicrosoftはついにDirectSRについてより詳しく語り、AMDとNvidiaの開発者を同じパネルに招き入れることに成功しました。なんと、二人で!DirectSRは当初考えていたようにアップスケーリング戦争に終止符を打つものではありませんが、開発者がゲームに複数のアップスケーリング機能を追加するための統一されたフレームワークを提供します。

その大きな部分は入力です。DirectSRとのインターフェースでは、開発者がアプリケーションプログラミングインターフェース(API)に付与する標準化された入力セットがあります。APIはこれらの入力を、AMDのFSR 2などの内蔵アップスケーラーや、NVIDIAのDLSSなどの特定のハードウェアを必要とするバリアントに渡すことができます。

これは、AMDが協力を断念する前に同様の目的のために構築されたNVIDIA独自のStreamlineフレームワークと似ています。この戦いにおいて中立的な立場のサードパーティであるMicrosoftこそが、関係者全員をまとめ上げることができていたようです。

これがゲームで実際にどのように見えるかはまだ分かりません。DirectSRはまだ開発者向けには提供されていません。エンドユーザーにとっては何も変わらない可能性があり、グラフィックメニューには依然として複数のアップスケーリングオプションが表示されています。もしかしたら、MicrosoftがWindowsをアップデートして、お使いのハードウェアに応じてユニバーサルなアップスケーリングオプションを追加するかもしれません。まだはっきりとは分かりませんが、DirectSRによって開発者はDLSS、FSR、そしてIntelのXeSSといったあらゆるアップスケーリングをゲームに実装しやすくなるはずです。

当初は実現されていなかった利点の一つは、このシステムがアップデートにどのように対応するかという点でした。Nvidia、AMD、Intelは、アップスケーリング技術の新バージョンを継続的にリリースしており、画質に若干の改善を加えたり、アップスケーリングの仕組みを微調整したりしています。DirectSRを使えば、開発者はこれらのアップデートをすべてゲームに適用する必要がなくなり、API全体で動作するようになります。

私にとっては、これは全て満足のいくものです。アップスケーリングは大きな論点であり、特にStarfieldResident Evil 4のような大作では、発売当初は1つのアップスケーラーしかサポートされていませんでした。唯一の欠点はフレーム生成です。DirectSRでは今のところそれが実現されていないようですので、主要グラフィックメーカー間では今後も多くの議論が交わされることになるでしょう。

CPUの死?そうでもない

マザーボードにソケットされた Intel の 14900K CPU。
ジェイコブ・ローチ / デジタルトレンド

今年のGDCで最もエキサイティングな発表の一つが、ワークグラフでした。先週のニュースレターでも触れましたが、MicrosoftのDirectX State of the Unionでワークグラフを詳しく見ることができました。その背後にある考え方は、GPUに処理を任せることでCPUの負荷を軽減するというものです。

話にはもう少しニュアンスがあります。これは、プログラマブルシェーダーがグラフィックカードに初めて導入されたときのように、GPUに処理の決定権を与えることを意味します。ワークグラフはノードで構成されており、これらのノードはCPUからの作業を待つことなく、GPUが処理できるよう、さらにノードを生成できます。Microsoftはこれを、別のコンピュートシェーダーを起動できるコンピュートシェーダーと表現しました。

PCゲーマーがすぐに気づいた明らかな利点は、GPUの利用率でした。Microsoftは、現在のシステムではGPUとCPUの間にグローバル同期ポイントが必要だと説明しました。これは、高度に並列化されたデバイスであるGPUが、同期を待つ間、短時間動作を停止することを意味します。

メモリへの影響は予想外でした。DirectX 12の現在のプログラミングでは、MicrosoftはExecuteIndirectコマンドを使用するよう説明していましたが、このコマンドでは複数のバッファを保持する必要があります。Work Graphsでは、GPUが独自の処理を開始し、自ら処理を生成し続けるため、これらのバッファを保持する必要がありません。

AMDのロバート・マーティン氏は、3.3GBのメモリを必要とするシーンで、これがいかに大きな効果を発揮するかを実演しました。ワークグラフを使用すると、メモリ使用量はわずか113MBに抑えられ、パフォーマンスもわずかに向上しました。プレゼンテーションで説明されているように、「メモリ使用量はワークロードのサイズではなく、GPUのサイズに応じて増加します」。

ワークグラフはエンドユーザーには見えませんが、グラフィックプログラミングの新たなフロンティアであり、AMD、Nvidia、Microsoftが述べているように、開発者たちは長年この目標に向けて取り組んできました。メモリ使用量の削減とパフォーマンスの向上は魅力的だと思います。ワークグラフが実際のゲームに浸透するまでは、もう少し待つ必要があります。

Forbano
Forbano is a contributing author, focusing on sharing the latest news and deep content.