|
| 1 | +--- |
| 2 | +uid: hdrp-render-graph-viewer-reference |
| 3 | +--- |
| 4 | + |
| 5 | +# Render Graph Viewer window reference for HDRP |
| 6 | + |
| 7 | +The **Render Graph Viewer** window displays the [render graph](render-graph-introduction.md) for the current scene in the High Definition Render Pipeline (HDRP). |
| 8 | + |
| 9 | +For more information about the **Render Graph Viewer** window, refer to [Analyze a render graph](render-graph-view.md). |
| 10 | + |
| 11 | +## Toolbar |
| 12 | + |
| 13 | +|**Control**|**Description**| |
| 14 | +|-|-| |
| 15 | +|**Refresh**|Selects whether to update the window automatically. The options are: <ul><li>**Auto Update**: Updates the window automatically.</li><li>**Pause**: Doesn't update the window automatically.</li></ul>| |
| 16 | +|**Target Selection**|Selects which project the window connects to. For more information, refer to [View the render graph for a built project](render-graph-view.md#built-project). The options are:<ul><li>**Editor**: Connects to the project in the Unity Editor.</li><li>**Local**: Connects to a built project on the same device. </li><li>**Remote**: Connects to a built project on a different device.<li></li>**Direct Connection**: Connects to an application through an IP address.</li></ul>| |
| 17 | +|**Camera**|Selects the camera to display the rendering loop for.| |
| 18 | +|**Pass Filter**|Selects which render passes to display. For more information, refer to [Pass Filter dropdown](#pass-filter-property).| |
| 19 | +|**Resource Filter**|Selects which resources to display. For more information, refer to [Resource Filter dropdown](#resource-filter-property).| |
| 20 | +|**View Options**|Selects whether to display how the render pass stores and loads the resource in the main window.| |
| 21 | + |
| 22 | +<a name="pass-filter-property"></a> |
| 23 | +### Pass Filter dropdown |
| 24 | + |
| 25 | +|**Control**|**Description**| |
| 26 | +|-|-| |
| 27 | +|**Culled Passes**|Displays render passes that HDRP hasn't included in the render graph because they have no effect on the final image.| |
| 28 | +|**Raster Passes**|Displays only raster render passes created using `renderGraph.AddRasterRenderPass`.| |
| 29 | +|**Unsafe Passes**|Displays only render passes that use the `AddUnsafePass` API to use `CommandBuffer` interface APIs such as `SetRenderTarget`.| |
| 30 | +|**Compute Passes**|Displays only compute render passes created using `renderGraph.AddComputePass`.| |
| 31 | + |
| 32 | +<a name="resource-filter-property"></a> |
| 33 | +### Resource Filter dropdown |
| 34 | + |
| 35 | +|**Control**|**Description**| |
| 36 | +|-|-| |
| 37 | +|**Imported Resources**|Displays only resources imported into the render graph using `ImportTexure`.| |
| 38 | +|**Textures**|Displays only textures.| |
| 39 | +|**Buffers**|Displays only buffers.| |
| 40 | +|**Acceleration Structures**|Displays only acceleration structures used in compute render passes.| |
| 41 | + |
| 42 | +## Main window |
| 43 | + |
| 44 | +The main window is a timeline graph that displays the render passes in the render graph. It displays the following: |
| 45 | + |
| 46 | +- On the left, the list of resources the render passes use, in the order HDRP creates them. |
| 47 | +- At the top, the list of render passes, in the order HDRP executes them. |
| 48 | + |
| 49 | +At the point where a render pass and a texture meet on the graph, a resource access block displays how the render pass uses the resource. The access block uses the following icons and colors: |
| 50 | + |
| 51 | +|**Access block icon or color**|**Description**| |
| 52 | +|-|-| |
| 53 | +|Dotted lines|The resource hasn't been created yet.| |
| 54 | +|Green|The render pass has read-only access to the resource. The render pass can read the resource.| |
| 55 | +|Red|The render pass has write-only access to the resource. The render pass can write to the resource.| |
| 56 | +|Green and red|The render pass has read-write access to the resource. The render pass can read from or write to the resource.| |
| 57 | +|Gray|The render pass can't access the resource.| |
| 58 | +|Globe icon|The render pass sets the texture as a global resource. If the globe icon has a gray background, the resource was imported into the render graph as a `TextureHandle` object, and the pass uses the `SetGlobalTextureAfterPass` API.| |
| 59 | +|**F**|The render pass can read the resource from on-chip GPU memory.| |
| 60 | +|Blank|The resource has been deallocated in memory, so it no longer exists.| |
| 61 | + |
| 62 | +If you enable **View Options** > **Load Store Actions**, the access block displays triangles that represent how the render pass loads the resource (top-left) and stores the resource (bottom-right). The triangles use the following colors: |
| 63 | + |
| 64 | +|**Triangle color**|**Load or store action**| |
| 65 | +|-|-| |
| 66 | +|Blue|Clear| |
| 67 | +|Green|Load| |
| 68 | +|Red|Store| |
| 69 | +|Gray|Don't Care| |
| 70 | + |
| 71 | +Select an access block to display the resource in the Resource List and the render pass in the Pass Inspector List. |
| 72 | + |
| 73 | +### Render passes |
| 74 | + |
| 75 | +|**Control**|**Description**| |
| 76 | +|-|-| |
| 77 | +|Render pass name|The name of the render pass. This name is set in the `AddRasterRenderPass` or `AddComputePass` method.| |
| 78 | +|Merge bar|If HDRP merged this pass with other passes, the Render Graph Viewer displays a blue bar below the merged passes.| |
| 79 | +|Resource access overview bar|When you select a render pass name, the resource access overview bar displays information about the pass you selected and related passes. Hover your cursor over an overview block for more information. Select an overview block to open the C# file for the render pass.<br/><br/>Overview blocks use the following colors:<ul><li>White: The selected pass.</li><li>Gray: The pass isn't related to the selected pass.</li><li>Blue: The pass reads from or writes to a resource the selected pass uses.</li><li>Flashing blue: The pass reads from or writes to a resource the selected pass uses, and can be merged with the current pass.</li></ul>| |
| 80 | + |
| 81 | +### Resources |
| 82 | + |
| 83 | +|**Property**|**Description**| |
| 84 | +|-|-| |
| 85 | +|Resource type|The type of the resource. Refer to the following screenshot.| |
| 86 | +|Resource name|The resource name.| |
| 87 | +|Imported resource|Displays a left-facing arrow if the resource is imported.| |
| 88 | + |
| 89 | +### Render graph viewer icons |
| 90 | + |
| 91 | +|**Icon**|**Description**| |
| 92 | +|-|-| |
| 93 | +||A texture.| |
| 94 | +||An acceleration structure.| |
| 95 | +||A buffer.| |
| 96 | + |
| 97 | +## Resource List |
| 98 | + |
| 99 | +Select a resource in the Resource List to expand or collapse information about the resource. |
| 100 | + |
| 101 | +You can also use the Search bar to find a resource by name. |
| 102 | + |
| 103 | +|**Property**|**Description**| |
| 104 | +|-|-| |
| 105 | +|Resource name|The resource name.| |
| 106 | +|Imported resource|Displays a left-facing arrow if the resource is imported.| |
| 107 | +|**Size**|The resource size in pixels.| |
| 108 | +|**Format**|The texture format. For more information about texture formats, refer to [GraphicsFormat](https://docs.unity3d.com/Documentation/ScriptReference/Experimental.Rendering.GraphicsFormat.html).| |
| 109 | +|**Clear**|Displays **True** if HDRP clears the texture.| |
| 110 | +|**BindMS**|Whether the texture is bound as a multisampled texture. For more information about multisampled textures, refer to [RenderTextureDescriptor.BindMS](https://docs.unity3d.com/ScriptReference/RenderTextureDescriptor-bindMS.html).| |
| 111 | +|**Samples**|How many times Multisample Anti-aliasing (MSAA) samples the texture. Refer to [Anti-aliasing](anti-aliasing.md).| |
| 112 | +|**Memoryless**|Displays **True** if the resource is stored in tile memory on mobile platforms that use tile-based deferred rendering (TBDR). For more information about TBDR, refer to [Render graph system introduction](render-graph-introduction.md).| |
| 113 | + |
| 114 | +## Pass List |
| 115 | + |
| 116 | +Select a render pass in the main window to display information about the render pass in the Pass List. |
| 117 | + |
| 118 | +You can also use the Search bar to find a render pass by name. |
| 119 | + |
| 120 | +|**Property**|**Description**| |
| 121 | +|-|-| |
| 122 | +|Pass name|The render pass name. If HDRP merged multiple passes, this property displays the names of all the merged passes.| |
| 123 | +|**Native Render Pass Info**|Displays information about whether HDRP created a native render pass for this render pass by merging multiple render passes. For more information about native render passes, refer to [Introduction to the render graph system](render-graph-introduction.md).| |
| 124 | +|**Pass break reasoning**|Displays the reasons why HDRP could not merge this render pass with the next render pass. | |
| 125 | + |
| 126 | +### Render Graph Pass Info |
| 127 | + |
| 128 | +The **Render Graph Pass Info** section displays information about the render pass, and each of the resources it uses. |
| 129 | + |
| 130 | +If HDRP merged multiple passes into this pass, the section displays information for each merged pass. |
| 131 | + |
| 132 | +|**Property**|**Description**| |
| 133 | +|-|-| |
| 134 | +|**Name**|The render pass name.| |
| 135 | +|**Attachment dimensions**|The size of a resource the render pass uses, in pixels. Displays **0x0x0** if the render pass doesn't use a resource.| |
| 136 | +|**Has depth attachment**|Whether the resource has a depth texture.| |
| 137 | +|**MSAA samples**|How many times Multisample Anti-aliasing (MSAA) samples the texture. Refer to [Anti-aliasing](anti-aliasing.md). | |
| 138 | +|**Async compute**|Whether the render pass accesses the resource using a compute shader.| |
| 139 | + |
| 140 | +### Attachments Load/Store Actions |
| 141 | + |
| 142 | +The **Attachments Load/Store Actions** section displays the resources the render pass uses. The section displays **No attachments** if the render pass doesn't use any resources. |
| 143 | + |
| 144 | +|**Property**|**Description**| |
| 145 | +|-|-| |
| 146 | +|**Name**|The resource name.| |
| 147 | +|**Load Action**|The load action for the resource. Refer to [`RenderBufferLoadAction`](https://docs.unity3d.com/ScriptReference/Rendering.RenderBufferLoadAction.html).| |
| 148 | +|**Store Action**|The store action for the resource, and how HDRP uses the resource later in another render pass or outside the graph. Refer to [`RenderBufferStoreAction`](https://docs.unity3d.com/ScriptReference/Rendering.RenderBufferStoreAction.html).| |
| 149 | + |
| 150 | +## Additional resources |
| 151 | + |
| 152 | +- [Frame Debugger](https://docs.unity3d.com/Manual/frame-debugger-window.html) |
| 153 | +- [Optimization](Optimization.md) |
0 commit comments