著名なゲームエンジンであるUnreal Engineは、PCユーザーにとって最も苛立たしい問題の一つである、シェーダーコンパイル(Shader Compilation)に起因するパフォーマンスの「スタッタリング(カクつき)」に対処しようとしています。Epic Gamesの公式ドキュメントの最新アップデートによると、次期バージョンであるUE 5.8は、Microsoftが開発したAdvanced Shader Delivery (ASD)技術をネイティブサポートします。
この問題は通常、ゲームが初めて実行される際に、ユーザーのグラフィックスカード(GPU)やドライバーの仕様に合わせてシェーダーをコンパイル・適応させる必要がある場合に発生し、フレームレートの急激な低下を招きます。ASD技術は、この作業負荷の一部をユーザーのローカルデバイスからオフロードすることを目的としています。
この技術はどのように機能するのか?
ASD技術は、以下の2つの主要な技術的柱に基づいています。
- State Object Database (SODB): ゲームのシェーダー関連データを格納するための統一された形式を提供します。
- Pre-compiled Shader Database (PSDB): 事前に準備されたシェーダーのリモートキャッシュとして機能します。
UE 5.8に統合された新しいソフトウェアツールを通じて、開発者は最終的なゲームビルド(Cooked builds)からSODBファイルを生成できるようになります。その後、デジタルストアはこれらのデータを使用して、さまざまなGPUファミリーやドライバーバージョンに適した準備済みのシェーダーを配布できるため、プレイヤーのデバイス上でのリアルタイムコンパイルの必要性が軽減されます。
実質的に何が変わるのか?
実用的な観点から言えば、この動きはPCゲームの体験を、専用ゲーム機(コンソール)が提供するパフォーマンスの安定性に近づけることを目的としています。ただし、この技術単体で「魔法の解決策」になるわけではないことに注意が必要です。Epic Gamesは、最良の結果を保証するために、開発者が既存のキャッシュ機能(PSO caching)をASDと併用し続けることを推奨しています。
現在の制限と課題
有望な可能性を秘めている一方で、この技術は現在の段階では開発者が考慮すべきいくつかの技術的制限に直面しています。
- 限定的なサポート: このツールは現在、Shader Model 6を使用するDirect3D 12ゲームのみをサポートしています。
- レイトレーシングの欠如: この技術は現在、レイトレーシング用のパイプライン状態オブジェクト(PSOs)をサポートしていません。
- 継続的なアップデート: 開発者は、ゲームビルド内のシェーダーに変更を加えるたびに、新しいSODBファイルを生成する必要があります。
可用性に関しては、ゲームスタジオはすでにMicrosoft StoreへのSODBファイルの提供を開始できますが、SteamおよびEpic Games Storeへのサポートは2027年初頭に到着する予定です。