レンダリング リソース ビューア は、すべての GPU メモリの割り当て先およびリソースのレンダリング先のその時点でのスナップショットを提供するツールです (ウィンドウを開いたときにキャプチャされます)。これらは、頂点バッファとインデックス バッファ、およびそれらの元となるアセットのタイプが含まれます。このツールは、アーティストやデベロッパーが、どのアセットが割り当てを行っているかを特定して、把握するために役立ちます。また、これにより、GPU メモリを最適化して、プロジェクトをレンダリング バジェット内に収めるうえで必要な情報も提供されます。

このツールは、次のようなインタラクティブ インターフェースを備えています。
- それぞれのレンダリング リソース割り当てをその名前、サイズ、タイプ、フラグ、オーナーとともに表示する。
- 割り当てのソートおよびフィルタリング可能なテーブルを含む。
- どのアセットが割り当てを行っているかを特定して把握するための情報を提供する。
レンダリング リソース ビューアを開く
[Tools (ツール)] メニューから [Render Resource Viewer (レンダリング リソース ビューア)] を開くことができます。

レンダリング リソース ビューア インターフェースを操作する
レンダリング リソース ビューア インターフェースは以下で構成されています。
- Refresh (リフレッシュ) ボタン
-
ビューアは、開いたときにその時点のスナップショットを作成し、リアルタイムで自動的には更新されません。このボタンを使用すると、リストが更新され、GPU メモリ割り当ての新しいスナップショットが作成されます。
-
- リソース フィルタ
- 各リソースには、いくつかのレンダリング フラグがあります。これらのリソース チェックボックスを使用すると、検索に関連するフィルタされたエントリを表示することができます。次のリソースから選択します。
- Resident (常駐): リソースは GPU からアクセス可能ですが、エビクトされていません (未使用)。
- Transient (一時的): リソースはアクティブであるレンダー パスの最中にのみ割り当てられ、フレーム内の他のリソースと基礎メモリを共有します(このフィルタはデフォルトではオンになっていません)。
- Streaming (ストリーミング): ストリーミング可能なテクスチャです。
- Render Target (RT) (レンダー ターゲット): GPU によってレンダー ターゲット バッファとして書き込むことができます。
- Depth Stencil (DS) (デプス ステンシル): デプス ステンシル バッファとして GPU によって書き込むことができます。
- Unordered Access View (UAV) (順序付けされていないアクセス ビュー): 順序付けされていないアクセス ビューをサポートしています。これは、メモリ コンフリクトを発生させることなく、複数の GPU スレッドからの順序付けされていない読み取り/書き込みアクセスを一時的に可能にします。
- Ray Tracing Acceleration Structure (レイ トレーシング アクセラレーション構造) (RTAS): レイ トレーシング アクセラレーション構造です。
- 各リソースには、いくつかのレンダリング フラグがあります。これらのリソース チェックボックスを使用すると、検索に関連するフィルタされたエントリを表示することができます。次のリソースから選択します。
- 検索ボックス
-
[Resource Name (リソース名)] カテゴリと [Owner (オーナー)] カテゴリの両方からテキストを検索します。たとえば、スケルタルメッシュに属するすべてのリソースを見つけるのは困難である可能性がありますが、オーナーのパスを検索することで、使用されているメモリの合計を確認することができます。
-
- Resource Totals (リソースの総数)
-
リスト内のエントリの総数およびそれらの合計サイズを表示します。フィルタされたフラグを変更して検索すると、フィルタされた結果とその合計だけがリストアップされます。
-
- リソース テーブル
-
このウィンドウには、メモリを占有している所定のリソースに関するリストされた情報が含まれています。このウィンドウには、リソースの名前、タイプ、サイズ、フラグ、およびそのリソースのオーナーが表示されます。[Owner (オーナー)] 列には、リソースが属する UObject のパス名と、その LOD インデックスが表示されます。
-
追記
[Owner (オーナー)] が [None (なし)] の場合
リソースのオーナーが [None (なし)] の場合、そのリソースのオーナーが現在追跡されていないことを意味します。現在追跡されているリソースには、スタティックメッシュ、スケルタルメッシュ、テクスチャ、ヘア/グルーム アセットがあります。追跡されるリソースのリストは、今後も追加される予定です。
オーナー パスと LOD インデックス
リソースがメッシュに属する場合、オーナー パスには、パスの最後にそのメッシュが属する LOD インデックスも表示されます。たとえば、Unreal Engine のデフォルト テンプレートの一部に含まれる Quinn マネキンには、複数の LOD (詳細度) が設定されています。このスケルタルメッシュのリソース エントリを見ると、パスは /Game/Characters/Mannequins/Meshes/SKM_Quinn.SKM_Quinn[LOD1]
のようになります。
コンテンツ ブラウザでアセットをブラウズする
ホット キー CTRL + B を使用するか、エントリを右クリックして [Browse to Asset (アセットをブラウズ)] を選択すると、リストされたエントリのアセットを見つけることができます。これによりコンテンツ ブラウザが開き、その場所が表示されます。[Owner (オーナー)] 列 に関連付けられたアセット パスがない場合、操作は実行されません。
