Render Target Dependency Viewer
- Open a frame in the Profiling View window of the GPA Frame Analyzer.
- Click theGraphbutton on the main toolbar at the top of the page. An additional browser window will open.If the default browser is some legacy browser, which does not support HTML5 features, copy the URL and open it using the latest version of Microsoft Edge*, Google Chrome* or Firefox*.
- ResourceA building block of the scene. Resource is a memory area that can be an input or an output of an operation. All the resources shown by the tool are produced by the GPU. Each was used as an output from an operation at least once. The tool can display the content of texture or buffer resources.When you click on the resource, its versions are highlighted on the graph.Detailed inspection of buffer resources content is not available now.
- OperationA common name for all types of calls causing the GPU to perform rendering or computation work: draw, compute, copy calls. All operations have a set of input and a set of output resources. Resources are bound to the operations using different kinds of views: shader resource view (SRV), render target view (RTV), or depth-stencil view (DSV).For resource notations, refer to the Resources Pane topic.Each operation can be:
To see the list of operations used in the pass:
- A producer of a resource version
- In most cases, a consumer of other resource versions.
- Click on the pass. This pass will be highlighted in the Passes list on the Tools panel.
- Double click the highlighted pass on the Tools panel. The list of operations will unfold.
- PassA sequence of operations sharing a set of output resources. Dependency viewer relies on the GPA Frame Analyzer when grouping operations into passes. The pass objects correspond directly to the passes displayed in the Frame Analyzer: when you selectGroup by: Render Targets, the operations listed in the left pane and on the bar chart are grouped into passes.When you click on the pass in the dependency viewer, it is highlighted on the graph.
- ViewA binding of a resource as an input or an output of the operation. A single resource can be bound through several views of diverse types, but a single view points to exactly one resource.
- Resource VersionA state of a resource at a certain point in time. A common scenario of using a resource is binding it to several operations and partially or fully overwriting previous content of the resource with the new data. The tool captures the content of each resource used as an output of the pass after the last operation of this pass. Then, it gives a unique numerical ID to this resource version.
Check connection or reconnect, if necessary.
Choose dark or light color schema.
Expand the window to full screen or return to its original state.
- Specify either aTool, aGraphor anInspectorwill be displayed on the panel using drop-down menus. You can also open theWalkertool, which detects issues in the frame. For example, it shows resources that are generated but not used later in the frame.
- Specify a tool, a kind of graph or inspector view that will be displayed on the panel using the drop-down list on the right of the category drop-down menu.
- Resize panels by dragging the borders. To hide the panel, drag its boarder to the edge of the window.
- Set a focus on a specific pass or resource. Click on the object on the tool or graph panel, and other panels will focus on the same object:
- Inspector will display detailed information related to this object.
- Graph or resource panel will highlight the same object.
- Resource usage graphThis type of graph displays all dependencies including the case when two passes write to the same resource subsequently. If the second pass overwrites only a part of the shared resource, the content of the unwritten part of the resource depends on the previous pass. Dashed arrows visualize this on the graph. Solid arrows visualize all other cases.
- Dependencies graphThis type of graph is a simplification of the resource usage graph. It does not include input view labels and always draws a single arrow between two passes. Such arrow visualizes that there is some dependency between passes, but does not provide details.
- Dependencies concentrated graphThis type of graph is a simplification of the dependencies graph. It merges arrows that point at the same pass.
- Dependencies direct only graphThis type of graph provides the highest simplification level leaving indirect dependencies from the graph. It simplifies the following situation: if the pass A depends on passes B and C, and the pass B depends on C, the dependency between A and C is removed. A is already indirectly dependent on C through B.In comparison with Dependencies graph, on the Dependencies direct only graph the pass 35 has only one arrow pointing at pass 37, but the dependency on pass 41 is ignored.
- To move the graph, press the left mouse key to grab the graph and move the mouse.
- To zoom the graph:
- Hold the right mouse button and move the mouse upwards or downwards.
- Scroll the mouse wheel.
- DOT files, which can be further processed using diverse tools for graph visualization analysis
- SVG vector graphics, which can be embedded in documents or web pages.
- Pass ID
- Operation range
- GPU duration metric:
- Duration time in milliseconds
- Percentage value relative to the entire frame time
- Blue horizontal bar scaled to the frame time.
- Number of events in the pass:
- Number of events
- Percentage value relative to the total number of events in the frame
- Black horizontal bar scaled to total operations number.
- Number of versions
- Number of subresources
- Number of slices
- Number of mips.
- Resource ID
- Version count
- Subresource count
- Array level count
- Mip level count
- Versions: resource version view allows you to inspect the resource content and compare different versions of the same resource to visualize the changes made in individual passes.
- Pass ID
- Event count
- Input resources count
- Output resources count
- Shader tuples