• Intel® Graphics Performance Analyzers 2020 R1
  • 03/31/2020
  • Public Content
Contents

Desktop API: Finding Performance Bottlenecks in a Frame

Using Graphics Frame Analyzer, you can explore a variety of metrics to identify performance bottlenecks in the frame, and analyze performance dependency on different drivers or states of the hardware.
To identify performance bottlenecks in a frame automatically, use the Hotspot mode.
To identify performance bottlenecks in a frame manually, do the following:
  1. Open your frame capture with the
    Graphics Frame Analyzer
    .
  2. In the Profiling View, choose from the available metrics for the X and/or Y axis to visualize specific aspects of performance in the frame.
  3. Review the bar chart to locate performance issues in the frame. You can analyze individual API calls that correspond to separate bars in the chart (default), or group API calls by clicking the required group in the
    Group By
    drop-down list.
    • API calls can be grouped by:
    • Debug Regions
    • Draw Calls
    • Render Targets
    • Command Lists (DirectX 12 and Vulkan only)
    • Pipeline States (DirectX 12 and Vulkan only)
    • Shader Sets
    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. You can stretch/shrink the slider to change the scaling of the bar chart. You can double-click the slider to toggle between the full frame view and the currently selected part.
  4. Select the bars that contribute the most to the frame time. When
    GPU Duration
    is set as the Y axis metric, the higher the bar on the bar chart is, the more expensive the API call is in terms of total rendering time.
    The
    Metrics
    pane displays metrics information for the selected API calls/group. On Intel® graphics, the
    Graphics Frame Analyzer
    can display metrics in the Pipeline view, grouping them by the specific hardware blocks they correspond to, such as Shader Execution or Rasterization blocks.
  5. Analyze metrics values to identify performance opportunities within the selected region of API calls. The colored markers below the block indicate EU states for this block:
    • Red marker indicates a primary bottleneck in the block.
    • Orange marker indicates a secondary bottleneck in the preceding blocks.
    • Green marker indicates that the
      Graphics Frame Analyzer
      have not detected any issues in the block.
      NOTE
      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.
  6. If your target platform supports the
    EU Active
    and
    EU Stall
    GPU metric, Graphics Frame Analyzer visualizes GPU duration for each shader used by the selected API calls. The full circle of the pie chart represents the GPU Duration of all the API 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 respective total GPU duration of each shader. Inner sectors of the pie chart represent the GPU time distribution between the EU Active (shades of green), EU Stall (shades of purple) and EU Idle (grey color):
    Hover over the pie chart to get details on EU Active, EU Stall, and EU Idle timings for each shader. Each state receives a highlight outside the pie chart, and you can see the corresponding metric value, in ms:
The origin of some bottlenecks may be hard to troubleshoot. For example, a tiny API call might turn out to be a bottleneck because of latency issues. However, in most cases, these steps should be sufficient to identify performance issues in your frame.
To analyze your frame's performance dependency on different drivers or states of the hardware:
  1. Open the frame in the
    Graphics Frame Analyzer
    .
  2. Click the button  to save the metrics data in a CSV file.
  3. Modify your device settings and reopen the frame file.
    Graphics Frame Analyzer calculates the new metrics data for your frame.
  4. Import one or more saved CSV files into the bar chart using the button , or simply drag and drop them from the file explorer onto the bar chart.
    The bar chart updates to show the imported metric values as colored bars, side-by-side with the current data bars. Colors of imported metric bars are shown on the Visualization Settings toolbar:
    NOTE:
    You can only import metrics data that was exported for the same frame file. You cannot compare metrics data collected on different platforms with different sets of metrics available.
    NOTE:
    Once a CSV file is imported, the X axis is forced to show constant values.
  5. Compare metric values in the chart to understand performance impact of the hardware settings. If you imported more than one metrics snapshot, hover over the rectangles above the chart to view the *.csv filenames. To remove the imported metrics data from the chart, click the corresponding rectangle.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804