• 01/27/2020
  • Public Content

Platform-Based Graphics Performance Analysis

Increasing performance of graphics processors boosts the image rendering level of realism. The more powerful GPUs become, the more resource-demanding graphics can be created. Game makers try to gain all available advantages of modern GPUs and often face graphics performance issues.
Usually talking about game graphics, developers assume a scene in a game world with objects rendered by a bunch of graphics commands forming a final frame. This final frame is an output image that users see on a screen. A number of frames rendered per second (FPS) is a common metric for measuring an overall game performance. A reasonable frame rate depends on a game plot. A dynamic game, such as a first person shooter, usually requires a higher FPS rate than a step-by-step strategy.
If FPS drops below a desired level it is necessary to identify bottlenecks in a software or hardware that limit the game performance. Modern games are complex applications not only in terms of graphics. Slow graphics is not always a result of bottlenecks in the GPU part of a game. CPU can impact a game and indirectly a graphics performance too. That is why identifying whether your application is CPU-bound or GPU-bound can be tricky.
Intel® GPA Graphics Trace Analyzer gives a high level granularity insight into the execution flow of a running graphics application. Graphics Trace Analyzer shows performance events generated by the system kernel and drivers, and application events specified by a user through debug API events and Instrumentation and Tracing Technology (ITT) markers provided by Intel® GPA .
Once you open a captured trace in the Graphics Trace Analyzer, you can explore the following critical tracks for performance analysis:
Thread Activity
Shows how threads from different processes including your profiled application have been executed.
Hardware GPU queue
Shows how GPU executes commands forming a frame buffer you see on the screen.
Flip queue and VSYNC events
Shows work performed by a display manager.
CPU frames
Shows the range containing graphics commands between two successive frames buffer swap calls.
Driver CPU queue
Shows a how many graphics commands are scheduled by a graphics driver for being executed by the GPU.
Debug and ITT events and markers
Shows the result of user-defined instrumentation of profiled application matched with performance data generated by the system.
 
Each Graphics Trace Analyzer track shows specific performance events generated by your application and system at subsequent stages of graphics command execution:
To start platform-based graphics performance analysis, use Hardware GPU queue, Flip queue and Driver CPU queue tracks to quickly define whether your application is GPU-bound or CPU-bound. Thread Activity track, CPU frames track and Debug and ITT events track can be used for a detailed analysis of CPU-bound scenarios.
 
See Also
 

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