Window: Profiling View (DirectX* 12 Workloads)

Use the Profiling View to identify performance opportunities in the analyzed frame.

To access this window: in the Open Frame Capture window, select the frame for analysis and click Open.

Bar chart

Visualize performance in your frame over time if metrics are available for your target system:

  • Review the individual API calls and their contribution to the overall frame time. Different bar colors represent different types of calls:

    • draw calls are dark-blue
    • dispatch calls are purple
    • copy calls are cyan
    • clear calls are green

    If you filter the API calls in the API log, the excluded calls are displayed in gray.

  • Choose the available metrics for X and/or Y axis to visualize specific aspects of performance in the frame.

  • Toggle between individual API calls (default) and regions using the Group by drop-down menu. Select the corresponding option to group API calls by command lists, render targets, graphics pipeline states, shader sets, or debug regions, if available.

  • Select draw calls/command lists in the Bar chart to analyze metrics data and resources for specific parts of the frame. The selected bars are highlighted in orange. You can use Ctrl+Z/Ctrl+Y keyboard shortcuts to return to the previously selected erg and back.

    If you select one or more draw calls in the chart and then group them by command lists, such partial selection within the list is marked with orange hatching:


  • Import and export metrics data in CSV format to compare performance results for the same frame measured with different drivers or hardware settings:

    • Use Export button to save the metrics data to a *.csv file.

    • Use the Import button to import the saved metrics data onto the chart for comparison with the current metrics values. You can only import metrics data for the same frame file with the same set of metrics selected.


      You can only import metrics data that was exported for the same frame file, with the same set of metrics. You cannot compare metrics data collected on different platforms with different sets of metrics available.

    • Hover over the colored rectangles to view the *.csv filenames and associate the color code in the bar chart with the imported files. To remove the imported metrics data from the chart, click the corresponding rectangle.


    If you import one or more CSV files into the bar chart, the X-axis is reset to a constant metric.

  • Change the horizontal scaling of the bar chart by stretching/shrinking the slider below the chart. The scrollbar below the chart provides an overview of the entire frame, while the slider reflects the part of the frame currently displayed in the chart. If the X-axis represents a non-constant metric, you can double-click the slider to toggle between the full frame view and the currently selected part.


    If you import one or more CSV files into the bar chart, the X-axis is reset to a constant metric.

  • Change the vertical scaling of the bar chart:

    • Enable/disable vertical auto-scaling by clicking the/ toggle button. By default, vertical auto-scaling is enabled.
    • Increase/decrease the relative height of the bars using the / buttons. You can re-scale the longest bar in the displayed region to the full height of the bar chart, and re-scale the shorter bars accordingly. Alternatively, you can hold Ctrl and scroll up or down to re-scale the bars.

    By default, all bars are displayed in their original height.

  • Click the button to fold the bar chart and expand the other fields. When you restart Graphics Frame Analyzer, your latest selection is restored.

API log

Review the list of all functions used in the frame, in the GPU execution order, grouped by command lists. You can save the full API log into a . TXT file by pressing Ctrl+S.


To facilitate debugging, you can specify object labels for various resources in your application, such as programs, program pipelines, sampler objects, textures, buffers, or render targets. Graphics Frame Analyzer displays object labels in the API log and the Resource viewer.

When you select an erg in the Bar chart, Graphics Frame Analyzer highlights the corresponding functions in the API log. For easier navigation, Graphics Frame Analyzer marks the functions that may require your attention with colored bars:

  • Green bars mark hierarchical regions of API calls. You can see such regions if your game is instrumented with a special DirectX 12 API that can group API calls.
  • Blue bars mark the draw calls with modified states and shaders.


You can use the arrow keys for easier navigation between the API calls and command lists:

  • Up/Down arrow keys or Page Up/Page Down keys navigate between the displayed API calls and command lists.
  • Right/Left arrow keys expand/collapse the command lists, respectively.

When you select a function in the list, Graphics Frame Analyzer updates all other panes of the Profiling View to reflect the state of the frame for this function call.

Resource viewer

Review all resources used by the selected ergs or command lists:

  • geometry - only displayed when you select a single draw call
  • textures  
  • data buffers
  • states
  • shaders
  • render targets, including depth-stencil
  • api call arguments

All resources are grouped by input, execution and output stages. Groups with multiple resources are folded. Click the button to display all resources in such groups.


Use the / buttons to hide the side panes and expand the Resource viewer.

To view details about a resource, click the resource thumbnail. At the same time, all draw calls using this resource receive a highlight in the Bar chart. In case of any issues with the resource, the thumbnail receives a warning marker.

To analyze various geometry aspects of the selected geometry object, switch between the available visualization modes:

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

Wireframe - view a wireframe model to inspect the back side of the object and understand how it is built from triangles.

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

Normal - view a normal map for your object to analyze how the normal vectors are plotted.

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.

You can export geometry data in the Wavefront OBJ format by clicking the button.

For textures used as render targets, Graphics Frame Analyzer also shows the following data, if available:

  • Synthetic render target ID used to identify render targets to which specific textures are bound
  • Texture ID
  • Texture target
  • Type of attachment (color, or depth-stencil)
  • Layer or face
  • Mip-map level

For 3D textures, image textures, and texture arrays, you can select the image layer in the Layer Input control :

To save a texture image or render target, select it from the list of the resources, and click the button or press Ctrl+S. You can choose between DirectDraw Surface (DDS), Khronos Texture (KTX), or PNG formats.

To flip the texture or render target image, click the button. This is useful if the image is stored in memory in the reverse order and appears upside down.

To visualize the color data of a texture or render target, select it from the list of resources and 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/out of the selected range using the mouse wheel, and scroll left/right by clicking and dragging the mouse while holding Ctrl.
  • Switch between the available color 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.

If your target platform supports PS EU Activity or VS EU Activity GPU metrics, 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 shader, the size of the pie chart correlates with the respective total GPU duration of each shader. Inner sectors of the pie chart represent the GPU time distribution between executing Pixel Shader (shades of purple), Vertex Shader (shades of green) and other activities (grey color), such as EU Idle, or rasterization.

To analyze GPU duration for a shader, hover over the pie chart to get details on EU Active and EU Stall timings for PS and VS stages. Each state receives a highlight outside the pie chart, and you can see the corresponding metric value, in ms:  

Experiments pane

Isolate potential performance bottlenecks in your application by modifying render states within the graphics driver.


You can only perform experiments if metrics data is available for your target system. Otherwise, Experiments pane is hidden.

Graphics Frame Analyzer provides the following experiments:

  • Textures 2x2

  • Scissor Rect 1x1

  • Simple Pixel Shader

  • Disable Erg(s)

For details, see Experimenting with Render States.

Metrics pane

Analyze metrics information for the selected draw calls/render targets. If nothing is selected, Graphics Frame Analyzer displays the total values for the entire frame. If metrics are unavailable for your platform, the Metrics pane is hidden.

By default, Graphics Frame Analyzer shows metrics values in short format. You can switch to the full decimal notation using the / toggle button.

Use the / toggle button to switch between different views:

  • Table view - display all metrics data in a table format.  

  • Pipeline view - group all metrics by specific hardware blocks they correspond to, such as Rasterization or Shader Execution blocks. Click each block to see detailed information for each metric in this block below.


    The Pipeline view is only available when you select Draw, Dispatch, or ExecuteInidrect calls. Otherwise, you can only see the metrics in the table format.

The Pipeline blocks include metrics that represent the processing flow at each stage of the graphics rendering pipeline. The Interfaces blocks reflect the state of the external interfaces used by the Pipeline blocks.

The width of each block corresponds to 100% of execution time for the selected region of API calls. The colored markers below the blocks indicate EU states for this block:

    • Red markers indicate a bottleneck in the block.

    • Gray markers indicate a bottleneck in the preceding blocks.

    • Green markers indicate that Graphics Frame Analyzer have not detected any issues in the block.


When you experiment with the frame, metrics values update on the fly to reflect the introduced changes. While metrics values are recalculated, they are grayed out.


Show all toggle button

Choose the display mode of the API log:

  • View all functions used in the frame, in the GPU execution order.
  • View only those functions that can potentially contribute time to the frame, such as draw calls or clear calls (default).


Type filter expression field

Filter the API log by function name or function parameter by typing in a part of its name.



Get statistical information for the analyzed frame:

  • The total number of ergs in the frame, and the number of ergs currently selected in the Bar chart
  • Performance statistics, if available for your target system:
    • duration of the selected ergs, in milliseconds.
    • percentage of the total frame time taken by the selected ergs
    • time difference between the original and the modified frame, if you experiment with render states or modify frame resources.

If you experiment with your frame, you can revert the applied experiments and all changes in shaders, states, and texture parameters by clicking the button in the toolbar.


Color Scheme toggle button

Change the color scheme of the Graphics Frame Analyzer interface:

  • Light color scheme (default)
  • Dark color scheme

Back button

Return to the Open Frame Capture window to select an existing frame for debugging. You can use the Backspace key instead.


Open Intel® GPA online documentation.

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