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

Desktop API: Experimenting with Render States

With Graphics Frame Analyzer, you can run experiments to see how changing render states may impact your frame in terms of visual effects and execution time. These experiments simplify the graphics pipeline stages that often require a significant percentage of the total number of GPU cycles. You can see the results of the experiments without changing your application code.
Graphics Frame Analyzer provides the following experiments:
Use these experiments to isolate potential performance bottlenecks in your application. If a certain experiment significantly improves you application performance, you should analyze what is causing a slowdown in your application at this particular pipeline stage.
To run experiments:
  1. In the bar chart, select one or more events that represent a potential bottleneck.
  2. In the pane, toggle the available experiments between "on" and "off". You can run multiple experiments at the same time on the selected events. Graphics Frame Analyzer recalculates the metrics data and displays the new results. The Render Target in the Output section of the Resource List also gets updated to reflect the visual changes caused by enabling/disabling the experiments. To see the changes clearer, use the following
    Output Texture Visualization
    modes:
  • 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.
Textures 2x2
Use the
2x2 Textures
override mode to help identify potential performance bottlenecks in your use of texture maps within the application. All textures for a scene are replaced with simple 2x2 pixel textures. Graphics Frame Analyzer uses a simple halftone or a colorized bitmap for this option.
If using this override mode significantly improves the frame rate, then the GPU may be thrashing while loading texture maps from the CPU instead of using a cached version of that texture map from the GPU. If the total size of your texture maps is high for a scene, consider reducing one of the texture maps so that all the texture maps fit into the GPU texture cache for that scene.
Scissor Rect 1x1
The
1x1 Scissor Rect
experiment bypasses pixel processing from the rendering pipeline. If the frame rate does not increase when this experiment is enabled, a complex geometry or vertex shader is a bottleneck. In this case, proceed to analyzing the geometry of the frame, or experiment with shader code. If the GPU duration metric drops significantly, rasterization is likely to be a bottleneck.
However, the effect of this override mode is driver/graphics hardware vendor specific and depends upon whether scissoring on your device occurs prior to or after the pixel shader stage.
Simple Pixel Shader
The
Simple Pixel Shader
experiment replaces the pixel shaders in your frame with a simple pixel shader, which writes a constant color to all the affected render targets for each selected event. If the frame rate significantly decreases as a result of this experiment, you may want to perform further analysis of your shaders to see whether you can reduce rendering time without detracting from the visual quality of your scene.
Disable Event(s)
This experiment keeps the selected events from being rendered. Use this experiment to test scene efficiency.
Shading Rate
The Shading Rate experiment allows you to adjust the shading rate for a specific resource using one of the available presets. With this experiment, you can identify objects that do not contribute meaningfully to the visual quality of the scene, such as distant objects.
By lowering the shading rate for such objects, you can trade off insignificant details for performance improvements. One example when an adjustment of the shading rate can help is a texture sampler bottleneck. Graphics Frame Analyzer allows you to adjust the shading rate dynamically and view the results and potential performance gains in real time to determine whether some detail can be sacrificed without a noticeable loss in quality.
NOTE
This experiment is only supported on systems that satisfy certain hardware and software requirements. For more information, see the corresponding entry in the Release Notes.
 

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