Pane: Resources

Resource List

Displays all resources used by the selected graphics API functions.

Resource Viewer

Displays details about the resource selected in Resource List.

Resource List

All resources are grouped by Input, Execution, and Output stages. Groups with multiple resources are folded. Click the Show All Resources button to display the Resource Table with all resources in these groups. To close the Resource Table, click the Show All Resources button again or the Close button.

To filter resources, type the desired name or parameter into the Type Filter Expression field.

You can use the Type Filter Expression field, to find specific resources by running Graphics Frame Analyzer plugins.

For textures, shaders or geometry, you can choose one of the following view types:

  • Table view: Shows all available information for all the available resources of the selected events. Click the button to configure table columns. Columns can be sorted alphabetically or numerically. To select a resource, click the row with the required resource. To open the Resource Viewer for the selected resource, double-click the selected resource row. To restore the default view, click the Revert to Default button.

  • Tile view. Shows only resource thumbnails. To open the Tile view, click the button. Resources can be sorted alphabetically or by resource parameters.

You can view all resources or any of the following groups:

  • Geometry
  • Textures
  • Shaders
  • Data buffers
  • Graphics/Compute Pipeline States
  • Samplers
  • API call arguments

To view details about any resource, click the corresponding resource thumbnail in Resource List. At the same time, all of the events that use the selected resource are underlined in the Main bar chart. When issues exist with the resource, a warning marker displays on its thumbnail:

If your target platform supports the EU Active and EU Stall metrics, the GPU duration for each program is visualized in pie charts:

The full circle of the pie chart represents GPU duration of all the draw calls where the program is used. For multiple API call selections that use more than one program, the size of the pie chart correlates with the GPU duration values displayed on the pie chart. Inner sectors of the pie chart represent the GPU time distribution between active time (green), stall time (purple), and idle time (grey).

To analyze GPU duration for a program, hover over the pie chart to view details on EU Active, EU Stall, and EU Idle timings. Each state receives a highlight outside the pie chart, and you can see the corresponding metric value, measured in microseconds:

Resource Notations

Resource names, except texture and buffer names, are abbreviated and shown in the Resource List and Resource Viewer in the following format:

<resource type>:<resource ID>

Texture names and buffer names are shown in the following format:

<resource type>:<resource ID> (<view type><view ID>)

Graphics API

Name Component

Description

DirectX

<resource type>

Can be B (buffer) or T (texture).

<resource ID>

Any positive integer. 0 is an exception used to identify a synthetic DirectX 12 root constant resource.

<view type>

Depends on the resource type.

 

Texture

  • RTV - render target view

  • DSV - depth-stencil view

  • UAV - unordered access view

  • SRV - shader resource view

  • genmips - subresources generated automatcally by GenerateMips call

  • copy - subresources used in copy calls

Buffer

  • VBV - vertex buffer view

  • copy - subresources used in copy calls

  • args - draw and dispatch indirect arguments

  • IBV - index buffer view

  • count - query results buffer

  • UAV - unordered access view

  • SRV - shader resource view

  • CBV - constant buffer view

<view ID>

Any non-negative integer number. Continuous numbering is used, that is a view ID value does not depend on a view type.

 

 

 

 

 

 

 

 

Resource Viewer

Resource Viewer displays the resource details selected in Resource ListResource Viewer layout depends on the resource type.

TIP

To expand the Resource Viewer panel, drag its borders. To hide the side panels, double-click the Resource Viewer borders.

To assess possible performance changes without recompiling the code, you can modify states and shaders directly in Resource Viewer.

Resource Viewer: Geometry

Geometry Viewer panel Visualization Mode drop-down list - switches between view modes to analyze various geometry aspects of the selected geometry object.
There are the following visualization modes available:

Solid (default) - displays the object as a solid model.

Wireframe - displays a wireframe model to inspect the backside of the object and to understand how it is built from triangles.

Solid Wireframe - displays a wireframe model on top of the solid model.

Normals - displays a normal map for your object to analyze how the normal vectors are plotted.


Output Geometry View Mode drop-down list - toggles between the Post-transform mesh mode and Screen space view mode.
  • Post-transform mesh mode - displays an object with transformed vertexes.
  • Screen space view mode - displays a projected object to a 2D screen space.
Save Geometry to File button - exports geometry data in the Wavefront OBJ format.
Geometry Layout button (specific for DirectX 11 and 12) - displays geometry details. The Geometry Layout pane contains general information, such as topology and bounding box, as well as the attached vertex buffers and their layout:

Geometry Viewer window Shows a mesh for the selected call.

NOTE

For DirectX 11 and 12, output geometry can be selected for several calls within one render target region.

 

You can rotate the object in any direction by clicking and holding the mouse pointer.

To invert normals by 180 degrees, right-click the geometry object.

To flip vertical and horizontal planes, middle-click the geometry object.

Resource Viewer: Texture

Texture Viewer panel Previous button - opens the previous resource.
Next button - opens the next resource.
Show Resource in Separate Window button - displays Texture Viewer in a separate window.
Resouce History button - shows in the API Log pane only the graphics API functions that use the selected resource.
Texture Info field - shows the resource type and internal ID; view type and ID; and debug name, if available.
Format field - shows the original texture format.
Dimensions field - shows the resource dimensions, such as width, height, depth - or layer count, and sample count for multisample textures.

Texture Viewer toolbar Render Target State drop-down list - toggles between the following modes of the selected render target:
  • Normal Mode - shows the render target state for the last event, which writes to this render target before reading the render target or before the opened frame end.
  • Scrub Mode - shows the render target state for the last selected event.

Output Texture Visualization Mode drop-down list - switches between the following viewing modes of the selected output texture:

  • Current - shows the render target with modifications. If no experiments are applied, the current state is equal to the original state.
  • Original - shows the render target without modifications.
  • Diff - shows the difference between the current and original modes.
  • Overdraw - shows the render target with a bluescale overdraw visualization. The brighter the color, the more times the pixel was updated. Hover over the pixel to see the hit count below.

Selected Calls drop-down list - switches between the following ways to render the selected calls:

  • Original - renders all selected events with no modifications.
  • Highlight - sets all selected events to a pink solid color fill mode.
  • Wireframe (only for DirectX 11 and 12) - shows a wireframe model of the render target.
  • Hide - does not show all selected events.

Other Calls drop-down list - switches between the following options to show non-selected calls:

  • Original - renders all non-selected events with no modifications.
  • Highlight - sets all non-selected events to a blue solid color fill mode.
  • Wireframe (only for DirectX 11 and 12) - shows a wireframe model of the render target.
  • Hide - does not show all non-selected events.

NOTE

Selected Calls and Other Calls viewing options apply only to the draw calls that render into the selected render target.

Save Texture to File button - saves a texture image or render target in the DirectDraw Surface (DDS) format, Khronos Texture (KTX) format, or PNG format.

Flip Image button - turns a texture image or render target upside down.
Histogram button - opens a color histogram of a texture or render target.

Texture Viewer window

Shows a texture image or render target.

To view the color data of a texture or render target, select it from Resources List, and then click the button to open the color histogram:

  • Select the color range that contains the data you are interested in by clicking and dragging with the mouse pointer in the histogram, or by typing its threshold values in the Range Selector below the histogram. Graphics Frame Analyzer ignores the values outside the selected range, rescaling all the pixel values to fit the original range. You can also zoom in or out of the selected range using the mouse wheel, and scroll left or right by clicking and dragging the mouse while holding Ctrl.
  • Switch between the available texture channels for better visualization.
  • View detailed information about pixel values below the histogram:
    • Original values used to store pixel information in memory. This data is in a more precise format than the information provided below the image.
    • Normalized values used in shaders.
  • Return to the default range by clicking the Reset button. For floating-point texture formats, the default range is [0, 1]. For integer formats, the range spans from the minimum to the maximum possible value. Each color channel has its own [min, max] default range.

For textures with mipmaps, 3D textures, and texture arrays, you can select a particular subresource in the MIP-level selector or the Layer selector:

Grayed-out values in the MIP-level selector or in the Layer selector mean that the corresponding subresources are not defined in the selected resource view.

For SRV textures of DirectX 11 applications the Texture Viewer features the following additional buttons:

  • Texture 2x2 button - replaces the opened texture with a simple 2x2 pixel texture for the selected events. The experiment creates a new texture with the same name and of the same type, and denoted as [modified].
  • Clamp to Selected Mip Level button - disables all mip-maps of the opened textures that are greater than the current mip-map level of the texture for the selected events. The experiment creates a new texture with the same name and of the same type, and denoted as [modified].
  • Format drop-down button - shows the original texture format and enables the Texture Format Replacement experiment. Texture Format Replacement experiment allows you to change the selected texture format to another format from the drop-down list, if available.

These experiments help to define whether the selected texture bottlenecks the sampler module. If a sampler block is underlined red or yellow in a Hotspot mode, or if you assume there is an issue with texture sampling, in case the Hotspot mode is unavailable; these experiments can help identify the textures causing issues to eliminate these bottlenecks.

Texture Format Replacement experiment, the Texture 2x2 experiment, and the Clamp to Selected Mip Level experiment can be combined.

To disable the applied experiments, click the button on the texture thumbnail in Resource List.

For cube map textures, you can open one face of a cube map by selecting the desired face from the drop-down list. The Default option is a cube map layout.

NOTE

Cube map layout for a MIP-level, where a face size is greater than 4096px, is unavailable.

 

Resource Viewer: Shader

Shader Viewer panel Resouce History button - shows in the API Log pane only the draw calls that use the selected shader set.
Shader Set Name field - shows the opened shader name.
Shader Type drop-down list - shows the type of the opened shader.

Shader Viewer toolbar Shader Code drop-down list - shows different code representations of the opened shader.
Supported Shader Code Types:
  • DirectX: HLSL; DXBC/DXIL; ISA
  • Vulkan: GLSL; HLSL; SPIR-V

For DirectX frames, you can choose Compiler Flags from the Shader Code list to see what options are used to compile the source code.

Apply button - compiles a modified shader source code and applies it to the selected draw calls or dispatch calls.
Revert button - discards all changes made to the opened shader.
Type Filter Expression field - filters shader code values.
Format button - applies default formatting to the opened shader code.
Preprocess button - preprocesses the opened shader code by applying all defines from the list of definitions.
Load Source Code button - replaces the current shader source code with the imported code.
Bindings button - displays a list of resources and constants that are used in the opened shader.

Shader Editor

Enables you to view a shader code, change it and apply changes to the selected draw calls or dispatch calls.

Shader Resource List Lists bound resources and constants used in the opened shader.

Notification pane Displays errors and warnings that relate to the selected shader code.

Resource Viewer: Buffer

Buffer Viewer panel Resouce History button - shows in the API Log pane only the graphics API functions that use the selected buffer.
Show Resource in Separate Window button -  opens Buffer Viewer in a separate window.
Buffer Name field - shows the opened buffer name, if available, type and internal ID.
Offset and Size field - shows the offset value and size of the opened buffer block in the original buffer object.

Buffer Viewer toolbar View toggle button - toggles between the List View and Table View of the Buffer Viewer.
Buffer Layout field - enables you to view and edit the opened buffer layout. The layout is written in the buffer markup language.
Restore Default Layout button - reverts any buffer layout modifications made by the user and restores the default shader-defined or pipeline state-defined buffer layout or a default format (float4 or xuint4), if the buffer layout was not received from shader.
Info button - opens the layout editor help with the markup language help.

Buffer Viewer window

Shows the opened buffer details in a table or list format.

Resource Viewer: Graphics/Compute Pipeline State

The Graphics/Compute Pipeline State Viewer shows settings for fixed function blocks of the graphics/compute pipeline. The settings can be changed.

For DirectX and OpenGL applications, State Viewer shows API-agnostic data. The data can be modified for several draw call simultaneously:

For Vulkan, State Viewer shows Vulkan-specific data only for one draw call:

Resource Viewer: Samplers

Sampler Viewer panel Resouce History button - shows in the API Log pane only the graphics API functions that use the selected sampler.
Show Resource in Separate Window button -  opens Sampler Viewer in a separate window.
Sampler Name field - shows the opened sampler name, if available, type and internal ID.

Sampler Viewer window

Shows read-only settings for sampling textures.

Resource Viewer: API Call Arguments

The API Call Arguments Viewer lists arguments of the selected graphics API function. The Viewer shows data only for a single function.

For the DirectX 11 and DirectX 12 frames, you can change arguments to change input geometry, clear color or the number of computing threads.

You can change arguments for the following calls:

  1. ClearRenderTargetView
  2. ClearDepthStencilView

  3. ClearUnorderedAccessViewFloat

  4. ClearUnorderedAccessViewUint

  5. Dispatch calls

  6. For DirectX 11, all draw calls except DrawIndexedInstancedIndirect and DrawInstancedIndirect

  7. For DirectX 12, DrawIndexedInstanced and DrawInstanced

 

See Also

Use the Histogram mode to Visualize Color Distribution within a Frame

For more complete information about compiler optimizations, see our Optimization Notice.