User Guide

  • 2020.4
  • 12/10/2020
  • Public Content

Graphics Frame Analyzer Tab: 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
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.
Unique shader IDs are generated by Intel® GPA and do not directly relate to anything in your original code.
GPU Time Column
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
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
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
# 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 -
code, which is available only if the game supplies the high-level shading language at run time, or the
code, which shows disassembled intermediate shader language. Assembly code is always available.
For the high-level shader view (if displayed), "include" paths are not currently viewable.
To view shader code, select a shader in the
column. The screenshot below illustrates vertex shader code.
Shader Controls
Profile Button
button enables you to compute performance of the selected shader. When you click this button, the
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
Profiling is only supported on Intel® microarchitecture code name Ivy Bridge or higher. For
, 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
button for
is disabled.
Replace File... Button
Replace File...
button enables you to specify the new shader source and replace the analyzed shader with another pre-existing shader.
Undo Edits Button
Undo Edits
button discards all changes if you edited the shader in the code field of the
Revert Button
Click this button to switch back to the original shader if you selected a different shader using the
Replace File...
Apply Button
Click the
button if you want to apply the introduced shader changes to the selected ergs.
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.
See Also

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at