Analyzing OpenGL/OpenGL ES* Applications

Intel® GPA offers a variety of features for analyzing and optimizing OpenGL/OpenGL ES* applications:

  • Get a real-time view of over two dozen critical system metrics, such as CPU, GPU, and OpenGL/OpenGL ES API metrics.
  • Add custom metrics of the high-level application behavior side-by-side with the built-in performance metrics.
  • Collect and display hardware and software metrics data from your application in real time.
  • Perform graphics pipeline experiments to isolate graphics bottlenecks quickly.
  • Create frame capture files for in-depth frame analysis with Graphics Frame Analyzer.
  • Understand the performance of your application at the system level, frame level, render target level, and draw call level.
  • Conduct "what if" optimization experiments to isolate performance bottlenecks, without the need to recompile or rebuild your application.

Performance Analysis Workflow

    To get started, select your target application type:
    Android Applications (OpenGL ES) Ubuntu Desktop Applications (OpenGL)

    When analyzing OpenGL ES applications, you need to install Intel® GPA only on the host system; no explicit installation of Graphics Performance Analyzers is required on the Android* target system, since the connection between the host and target system enables the tools to directly monitor your application on the target device.

    The typical analysis workflow is as follows:

    1. Set up your device for analysis: set up Android* Debug Bridge USB connection and connect the System Analyzer to your device.
    2. Launch the application using System Analyzer.
      Once Intel® GPA has started analyzing your game, you can optionally switch the connection to Wi-Fi. The advantage of using a Wi-Fi connection is that you can also analyze power consumption of the device.
    3. Perform system analysis with System Analyzer:
    4. Capture frame or trace files for further in-depth analysis:
      • profile captured frames with Graphics Frame Analyzer to understand performance impact of specific draw calls at different stages of the rendering pipeline.
      • perform platform analysis to explore your application performance with respect to CPU and GPU utilization.

    To analyze your OpenGL* desktop application, you need to have the following tools installed on your Ubuntu* target system:

    • System Analyzer - analyze OpenGL* metrics in real time and experiment with render states to isolate graphics bottlenecks.
    • Graphics Frame Analyzer - capture frame files and perform in-depth frame analysis.


    Intel® GPA does not support tracing of OpenGL* desktop applications.

    The typical analysis workflow is as follows:

    1. Launch the application for analysis using the GPA Monitor.
    2. Run the System Analyzer and connect to the running application.
    3. Perform system analysis using the System Analyzer:
    4. Capture frame capture files for in-depth profiling with Graphics Frame Analyzer.
    5. Profile captured frames with Graphics Frame Analyzer to understand performance impact of specific draw calls at different stages of the rendering pipeline.

    After you identify the performance bottlenecks and change your game code, re-run Intel® GPA to verify that your changes achieve the expected performance improvements.




    You can analyze OpenGL ES workloads on Android* devices based on Intel® Processor Graphics, Intel Atom® processor with PowerVR* Graphics, or ARM*, with the following limitations:

    • Support for devices based on ARM* architecture is limited to the following:
      • You can only analyze OpenGL ES applications on ARM*-based devices running Android* 4.1, 4.2, 4.3, 4.4, and 5.x.
      • You can capture and analyze frames, but you cannot capture and analyze traces.
      • You cannot analyze hardware metrics.
    • When creating and analyzing OpenGL ES frame and trace captures, make sure the target device is connected to your analysis system at all times. Otherwise, the application stops.
    • Make sure that the screen of your device is unlocked when you are connecting the tools to the device, creating a frame or trace capture, or opening the frame or trace capture for analysis. Otherwise, you can get an error message indicating that the tool cannot connect to the device.
    • You can profile OpenGL ES* application over Wi-Fi, which allows you to analyze power consumption of the device.
    • Applications on Android* 4.2, 4.3, or 5.0 may fail to run due to platform issues. If you experience such issues, try upgrading to the latest Android* version.
For more complete information about compiler optimizations, see our Optimization Notice.