User Guide

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

GPU Time Column

The
Shaders
tab displays shader code for all applicable pipeline stages associated with the selected set of ergs and enables you to change it. The displayed shaders correspond to the selected ergs. For example, if no ergs are selected, then no shaders are shown.
Shader Column
The
Shader
column provides unique IDs for shaders of different types:
  • vertex shader (VS)
  • geometry shader (GS)
  • pixel shader (PS)
  • compute shader (CS).
For example, PS:326, PS:428, and VS:428 IDs correspond to different shaders.
NOTE
Unique shader IDs are generated by Intel® GPA and do not directly relate to anything in your original code.
The
GPU Time
column provides the cumulative GPU time (in microseconds) across all selected ergs for a given shader.
To see ergs that use a specific shader:
  1. Right-click on that shader and select
    "Select all Ergs that use this shader"
    .
  2. Check ergs in the
    Scene Overview
    pane and in the
    Visualization
    pane.
For example, in the screenshot below, PS:697 is used by ergs 21, 23, 25, 27, 29, and 32. If you add up the shader times for PS:697, these 6 ergs take 77.6 microseconds in the GPU.

% GPU Column

The
% GPU
column shows the percent of the total GPU time used by all selected ergs. For example, PS:697 takes 77.6 microseconds, which is 40.8% of the total GPU time for ergs 21, 23, 25, 27, 29, and 32.

# Ergs Column

The
# Ergs
column shows how many ergs use this shader. For example, PS:697 is used by 6 ergs. To see which ergs use this shader, right-click on that shader and select "
Select all Ergs that use this shader
".

Code View Drop-down List

From the
Code View
drop-down list you can select which code to view -
HLSL
code, which is available only if the game supplies the high-level shading language at run time, or the
Assembly
code, which shows disassembled intermediate shader language. Assembly code is always available.
NOTE
For the high-level shader view (if displayed), "include" paths are not currently viewable.
To view shader code, select a shader in the
Shader
column. The screenshot below illustrates vertex shader code.

Shader Controls

Profile Button

The
Profile
button enables you to compute performance of the selected shader. When you click this button, the
Shader
tab displays:
  • the total execution time for the analyzed shader, in microseconds
  • the number of clocks that occurred during the measured period
  • individual time for each shader instruction, in microseconds
NOTE
Profiling is only supported on Intel® microarchitecture code name Ivy Bridge or higher. For
HLSL
, the profiling information is only available if you compiled the analyzed shader with D3D debug flag for the applicable version of Microsoft DirectX*. Otherwise profiling information is only available for
IL Assembly
, and the
Profile
button for
HLSL
is disabled.

Replace File... Button

The
Replace File...
button enables you to specify the new shader source and replace the analyzed shader with another pre-existing shader.

Undo Edits Button

The
Undo Edits
button discards all changes if you edited the shader in the code field of the
Shader
tab.

Revert Button

Click this button to switch back to the original shader if you selected a different shader using the
Replace File...
button.

Apply Button

Click the
Apply
button if you want to apply the introduced shader changes to the selected ergs.

Settings…

The
Settings…
button invokes the
Shader Settings
window where you can specify the options to the compiler.
Individual shaders need different settings. Graphics Frame Analyzer saves settings per shader ID and you can view the previous settings anytime you switch back to that shader.
You can apply the saved settings to the required shader any number of times, without opening the
Shader Settings
dialog box. For example, you specify some settings for VS:1, then go to PS:3 and set different settings. Later if you want to switch back to VS:1, the settings specified for VS:1 will be saved.

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