レンダーグラフを分析する方法はいくつかあります。
Render Graph Viewer ウィンドウを開くには、Window > Analysis > Render Graph Viewer の順に選択します。
Render Graph Viewer ウィンドウにレンダーグラフが表示されます。これは、ユニバーサルレンダーパイプライン (URP) が各フレームを通過するレンダーパスの最適化されたシーケンスです。レンダーグラフビューアーには、ビルトインレンダーパスと、自作した カスタムレンダーパス の両方が表示されます。
Render Graph Viewer ウィンドウの詳細については、Render Graph Viewer ウィンドウのリファレンス を参照してください。
Render Graph Viewer ウィンドウには、デフォルトで現在のシーンのレンダーグラフが表示されます。別のレンダーグラフを選択するには、ツールバーにあるドロップダウンを使用します。
リソース名の横にあるリソースアクセスブロックを使用して、レンダーパスがリソースをどのように使用しているかを確認できます。
前の例では、_MainLightShadowmapTexture_ テクスチャは以下の段階を経ています。
InitFrame と SetupCameraProperties の間の、最初の 5 つのレンダーパスの間は、テクスチャは存在しません。
Main Light Shadowmap レンダーパスで、テクスチャをグローバルテクスチャとして作成し、そのテクスチャへの書き込み専用アクセス権を持ちます。グローバルテクスチャの詳細については、パス間のテクスチャの転送 を参照してください。
Main Light Shadowmap の下の青色のマージバーは、URP が Main Light Shadowmap、Additional Lights Shadowmap、SetupCameraProperties を 1 つのレンダーパスにマージしたことを示します。
次の 5 つのレンダーパスはテクスチャにアクセスできません。
最初の Draw Objects レンダーパスは、テクスチャに読み取り専用アクセスできます。
次の 2 つのレンダーパスはテクスチャにアクセスできません。
2 番目の Draw Objects レンダーパスは、テクスチャに読み取り専用アクセスできます。
不要になったテクスチャは Unity によって破棄されます。
レンダーパスの詳細を確認する、例えばそれがネイティブのレンダーパスやマージされたパスではない理由を確認するには、以下のいずれかを実行します。
レンダーパスの詳細を表示する方法の詳細については、Render Graph Viewer ウィンドウのリファレンス を参照してください。
レンダリングデバッガーを使用し、Console ウィンドウで、URP が使用したリソースとその使用状況をログに記録できます。
ログを有効にするには、以下のステップに従います。
レンダリングデバッガーの詳細については、レンダリングデバッガー を参照してください。
フレームデバッガー を使用して、レンダリングループのレンダーパスとドローコールを確認します。
フレームデバッガーは、レンダーグラフシステムがアクティブなときに Event Hierarchy パネル に以下を表示します。
<render-pass> はレンダーパス番号、<subpass> はサブパス番号です。フレームデバッガーは、ドローコールを含むレンダーパスのみを表示します。
フレームデバッガーの詳細については、フレームデバッガー を参照してください。