Isolating Graphics Bottlenecks through Modifying Render States

With the System Analyzer you can apply different override modes that provide a method for high-level performance analysis and visual debugging. Performance-related state overrides enable you to find high-level bottlenecks using subtractive analysis.

These override modes operate in the background: System Analyzer intercepts all graphics API calls and can modify the call stream sent to the GPU in order to change one or more render states of the graphics pipeline. Thus, you do not need to modify and/or recompile your application code. You can quickly perform a "what if" analysis of various portions of the graphics pipeline to isolate one or more performance bottlenecks in your application. If using a certain override mode improves performance significantly, then that overridden mode might be a performance bottleneck and warrants further analysis.

NOTE

 You can enable only one of the override modes at a time.

Depending on the version of OpenGL/OpenGL ES* API used in your application, you can apply the following override modes to perform various "what-if" experiments within the tool:

Override Mode

Target Application

Disable All

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Null Hardware

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

1x1 Scissor Rect

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Disable Alpha Blending

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Disable Alpha Test

OpenGL ES 1.0

Disable Draw Calls

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Disable Z-Test

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Show Wireframe

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Texture 2x2

OpenGL ES 1.0 or higher

OpenGL 3.2 or higher (Core Profile)

Simple Fragment Shader

OpenGL ES 2.0 or higher

OpenGL 3.2 or higher (Core Profile)

Pixel Overdraw

OpenGL ES 2.0 or higher

OpenGL 3.2 or higher (Core Profile)

Rasterization Discard

OpenGL ES 3.0 or higher

OpenGL 3.2 or higher (Core Profile)

NOTE

For target applications that use more than one OpenGL/OpenGL ES version, you can see the combined list of the override modes available for all versions. However, System Analyzer applies the selected mode only to the versions of OpenGL/OpenGL ES that support this mode.

See Also

Window: System Analyzer (OpenGL/OpenGL ES* Workloads)

For more complete information about compiler optimizations, see our Optimization Notice.