User Guide

  • 2020.3
  • 07/10/2020
  • Public Content
Contents

You can run experiments to see the effect that changing state overrides has both visually and in rendering time.
Graphics Frame Analyzer provides the following state override modes:
To run experiments:
  1. Select an erg, an arbitrary set of ergs, or all ergs in the frame, in the pane or in the .
  2. Open the .
  3. Toggle any of the supported state override modes between "on" and "off". You can run multiple experiments at the same time on the selected ergs.
  4. To see the result of applying an override mode(s), go to the
    Render Target Viewer
    pane and the Frame Overview and Details tabs.
  5. To revert the changes, uncheck the selected experiments. The previous state of the frame is restored.
State overrides are used to simplify those stages of the graphics pipeline that often require a significant percentage of the total GPU cycles. The modification of these render states happens within the graphics driver itself, such that the graphics application is not aware of these changes (and you can see the results of these experiments without changing your application code).
Use these override modes to isolate potential performance bottlenecks in your application. If using a certain override mode significantly improves the performance of your application in rendering a specific frame, then you should examine what your application is doing in this stage of the pipeline that might cause this slowdown.
NOTE
When analyzing a game that includes multiple D3D devices, the Graphics Frame Analyzer only displays ergs associated with the first device encountered in the stream of DirectX* calls in your capture file. However, when running experiments the Graphics Frame Analyzer still renders all ergs for all D3D devices. Since Intel® GPA displays total rendering time on a per-region basis, the total rendering time for each region is accurate if you interleave calls to all D3D devices within a region. However, Intel® GPA may not capture all of the rendering time when you render outside the regions defined by the first device to the other devices.
2x2 Textures
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. Usually the 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's texture cache for that scene.
1x1 Scissor Rect
The
1x1 Scissor Rect
override mode is a DirectX* API override. However, the implementation of this override mode is highly dependent upon your specific graphics configuration; in particular, scissoring may occur either before or after the pixel shader stage. This is how
1x1 Scissor Rect
works on the Intel® HD Graphics X4500: scissoring occurs prior to the pixel shader rendering stage, and all pixel shader rendering targets a single pixel; this effectively removes all pixel shader, texturing, and other rendering times.
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 the render target for every selected erg. 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.
NOTE
Enabling this experiment for ergs that do not reference a pixel shader in your original scene may actually result in a slower rendering time when using this override mode. This may seem counter-intuitive, but realize that all ergs are now forced to use a pixel shader, and this pixel shader may be slower than the fixed function shader that is used when an erg does not have an explicit pixel shader associated with it.
Disable Erg(s)
Use this option to keep the selected ergs from being rendered. Use this option to test scene efficiency.

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