Intel® Graphics Performance Analyzers 2013 for Android* OS Getting Started Guide

Contents

About This Document
About Intel® GPA for Android* OS
Downloading Intel GPA
Installing Intel GPA
Setting Up Android* Debug Bridge USB Connection
Launching the Intel® GPA System Analyzer
Preparing Your Android* OS Application for Analysis by Intel GPA
Connecting the Intel GPA System Analyzer to the Intel-based Android* OS device over Wi-Fi
Inspecting Android* OS Metrics
Performing Various 'What-If' Experiments
More Information

About This Document

This Getting Started Guide discusses some of the key concepts of the Intel GPA tools, which are useful for people who are familiar with performance analysis and optimization, but have not used Intel GPA before. This document has a task-based approach, covering some typical analysis and optimization workflows you will encounter.
This document covers the analysis of games running on Intel® Atom™ based phones using the Google* Android* OS.
For information on how to use Intel GPA to optimize DirectX*-based PC games running on Windows* OS, refer to the Intel® GPA Getting Started Guide for Windows* OS.
For more information about the product, please refer to the Intel GPA Online Help documentation, or check out the Intel GPA Home Page for more training materials (including videos demonstrating useful tasks).

Back to Top

About Intel® GPA for Android* OS

Intel® GPA enables application developers and driver engineers to analyze and optimize their OpenGL* ES workloads on Intel-based phones running the Android* OS.
Intel® GPA System Analyzer is the only Intel GPA tool supported on Android* OS. The other tools in the Intel GPA toolset are only available for analyzing Microsoft* DirectX* workloads on Windows* OS.
Using the Intel GPA System Analyzer for Android* OS, you can:

  • get a real-time view of over two dozen critical system metrics covering the CPU, GPU, and OpenGL* ES API
  • conduct a number of graphics pipeline experiments to quickly isolate graphics bottlenecks
  • use Windows* OS, OS X*, or Ubuntu* OS as your development system.

You need to install the Intel GPA System Analyzer only on the analysis system; no explicit installation of Intel GPA is required on the Android* OS target system, due to the nature of the connection between your development system and the phone you are analyzing.

The following table summarizes the supported platforms.

Target System
(the system where your game runs)
Analysis System
(your development system)
Target Application
(types of supported applications running on the target system)
Google* Android* OS 2.3, 4.0, 4.1, 4.2
(Intel® Atom™ phones only)
Windows* 7/8 OS or OS X* 10.7, 10.8 or Ubuntu* OS 11.10, 12.04 OpenGL* ES 1.0, 2.0

To analyze your application, connect your Android* OS device to your analysis machine with a USB cable, and then run the Intel GPA System Analyzer on the analysis machine. After 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. For details refer to this section.

Back to Top

Downloading Intel GPA

You can obtain a copy of Intel® GPA by going to the Intel GPA Home Page and click the Download button. Depending on your analysis platform, you can select the required version of the tool from the opened window. To determine which version of Intel GPA to download, see the article Intel® GPA: Which Version Should I Download and Install?

Back to Top

Installing Intel GPA

Windows* OS Analysis Platform

Once you have downloaded the self-extracting .exe file to your Windows* OS machine:

  • Open the self-installing executable file
  • Run setup.exe that is contained in the top-level directory of the extracted files

Be sure to install the product from an Administrator account.

Ubuntu* OS Analysis Platform

Follow the steps listed below to install the Intel® GPA System Analyzer on your Ubuntu* OS system:

  1. Extract the Intel® GPA installation archive to your client machine.
  2. Make sure that the sharutils package is installed on your client machine.
  3. For an x86 system:
    • Change file permissions by running the command chmod 755 intel-gpa_13.1_x86.deb.shar
    • Execute the .shar file by running the command ./intel-gpa_13.1_x86.deb.shar
  4. For an x64 system:
    • Change file permissions by running the command: chmod 755 intel-gpa_13.1_x64.deb.shar
    • Execute the .shar file by running the command: ./intel-gpa_13.1_x64.deb.shar
  5. Read the end-user license agreement (EULA), and if you agree to the terms and conditions of the EULA then enter Y to accept the agreement.
  6. Double-click the extracted .deb package to install it using the Ubuntu* OS package manager.

OS X* Analysis Platform

Follow the steps listed below to install the Intel® GPA System Analyzer on the OS X* platform:

  1. Extract the Intel® GPA installation archive to your client machine.
  2. Mount the disk image intel-gpa_13.1_x64.dmg by double-clicking the file.
  3. Read the end-user license agreement (EULA), and if you agree to the terms and conditions of the EULA then click Agree to accept the agreement.
  4. A new Finder window will appear.
  5. Drag and drop the Intel GPA System Analyzer icon to the Applications directory.

Back to Top

Setting Up Android* Debug Bridge USB Connection

To use the Intel® GPA System Analyzer on Android* OS devices, you need:

  • An Intel® Atom™ based phone running the Android* OS.
  • The latest version of Android* SDK installed on the analysis system.
  • An active Android* Debug Bridge (adb) USB connection between the analysis system and the Android* OS device.

Follow the steps listed below to set up the Android* Debug Bridge USB connection:

  1. Enable the USB debugging option on the phone: Settings > Applications > Development.
  2. Make sure Android* SDK, Google USB Driver package, and Android* SDK Platform tools are installed.
  3. Plug in the phone to the USB port of your analysis system using the micro USB connector.
  4. Enable your analysis system to discover the Android* OS device:
    • On Windows* OS:
      Follow the instructions in the article Installation Instructions for Intel® Android* USB Driver to connect your Windows* OS machine to your Android* device.
    • On OS X*: no actions required
    • On Ubuntu* OS: Add the following lines to the file /etc/udev/rules.d/51-android.rules: SUBSYSTEM=="usb",ATTRS{idVendor}=="8087",MODE="0666",OWNER="root"
  5. Run the Intel GPA System Analyzer.
  6. Press Ctrl+F1 on Windows* OS/Ubuntu* OS or Cmd+F1 on OS X* from the Connection Dialog Window to invoke the Settings dialog window.
    NOTE: On the first start of the Intel GPA System Analyzer on OS X* and Ubuntu* OS the Settings dialog window opens automatically if the adb tool is not found by PATH environment variable.
  7. In the Settings dialog window enter the path to the Android* Debug Bridge (adb) tool:


  8. Click OK.

Back to Top

Launching the Intel® GPA System Analyzer

To start collecting metrics you need to connect the Intel® GPA System Analyzer installed on the analysis system to the target system:

  1. Launch the Intel GPA System Analyzer on the analysis system.
  2. Connect the Android* OS device(s) to the analysis system using a USB cable.
  3. Wait for up to 10 seconds while your client system is detecting the target device(s). Found devices appear in the dialog window. The list of the target devices refreshes every 5-6 seconds.
  4. Find the device you want to connect to and click Connect. Intel GPA System Analyzer will copy required components to the target device and generate the list of installed applications. You can interrupt the connection process by clicking Stop.
     
  5. Select the desired application from the list of Analyzable applications.
    If the application you want to analyze is in the Non-analyzable applications list, you need to specifically enable the application for analysis by Intel GPA. Details for doing this appear in the section below.
  6. The application is launched and displays a message box "Waiting for Debugging". Do not close this message, just wait for Intel GPA to attach to this application and start displaying metrics.
  7. To switch to a different application, click Back.
    Note that the running application will be forced to close.
  8. To switch to a different target device, click Back.

Back to Top

Preparing Your Android* OS Application for Analysis by Intel® GPA

The Intel® GPA System Analyzer Application List screen displays two groups of applications:

  • Analyzable applications
  • Non-analyzable applications

Analyzable applications have the proper permissions that allow Intel GPA to analyze these applications.
To analyze applications from the Non-analyzable applications list, you need to modify the application’s permissions to enable access by Intel GPA:

  1. Open the AndroidManifest.xml file of your application.
  2. Enable the Internet connection permission: <uses-permission android:name="android.permission.INTERNET">
  3. Enable the debuggable permission: <application android:debuggable="true">

Back to Top

Connecting the Intel GPA System Analyzer to the Android* OS device over Wi-Fi

You can connect the Intel® GPA System Analyzer to the Intel-based Android* OS device over Wi-Fi to analyze power consumption of the device.

To start profiling your Android* OS application over Wi-Fi:

  1. Set up the Android* Debug Bridge USB connection.
  2. Plug in the Android* OS device to your machine's USB port using the micro USB connector.
  3. Type “adb devices” to check that the Android* OS device is listed and no other devices are connected.
  4. Restart the Android* Debug Bridge (ADB) tool in TCP mode with the command “adb tcpip 5555”.
  5. Disconnect the Android* OS device from your machine.
  6. Connect your machine and the Android* OS device to Wi-Fi network.
  7. On your Android* OS device open Wi-Fi connection settings and find the IP address assigned to this device.
  8. Execute the command “adb connect [android-device-ip]” to establish the ADB connection wirelessly via the TCP protocol.
  9. Open the Intel GPA System Analyzer on your machine.
  10. Find the Android* OS device with the name “[android-device-ip]:5555” and select it.
  11. Choose the application for profiling.

Note: Intel GPA supports profiling over Wi-Fi for Google* Android* OS v4.0 and higher.

Back to Top

Inspecting Android* OS Metrics

Intel® GPA metrics are grouped by the type of metric: CPU, GPU, OpenGL*, or memory. 
The metrics in the “GPU” group are ordered in the Metrics List by their implicit order of operation within the rendering pipeline.
To select a metric for display in the chart area, drag and drop the metric from the left panel:

  • to the chart
  • to the space between two charts
  • above the first chart
  • below the last chart

To add multiple metrics to a single chart, hold Ctrl on Windows* OS/Ubuntu* OS or Cmd on OS X* while dragging the metric. You can display up to four metrics in a single chart.
To delete a chart, click on the gray cross in the top left corner of the chart.
To pause the application and the display of chart metrics, click the Pause icon. To continue click Continue.

Check the Notification Area at the top of the window, to get information on:

  • The name of the monitored application.
  • The size of the target application window.
  • The Vsync status. Gray highlight indicates that Vsync is enabled.
  • The version of the OpenGL* ES API.

Inspecting Custom Metrics

With the Intel® GPA System Analyzer you can view and analyze custom metrics used within your profiled graphics application. Custom metrics are defined in the user applications source code and updated by the application via OpenGL* ES extension API provided by Intel GPA.
Custom metrics enable you to analyze any kind of data from your application in the Intel GPA System Analyzer. Application performance analysis benefits from profiling out of the box low-level hardware and graphics API metrics side-by-side with high-level application parameters provided by custom metrics, like the number of lights in the scene, duration of post-processing pipeline stages, etc.
The custom metrics are currently supported for Android* OS graphics applications that use OpenGL* ES 1.0 or OpenGL* ES 2.0 API. For information on how to analyze your custom metrics, refer to the Intel GPA Online Help.

Back to Top

Performing Various 'What-If' Experiments

With the Intel® GPA System Analyzer you can quickly perform "what if" experiments (also known as override modes) of various portions of the graphics pipeline in order to isolate one or more performance bottlenecks in your application. Override modes provide a method for high-level performance analysis and visual debugging.
These override modes operate "behind the scenes" within the graphics driver to modify one or more of the render states of the graphics pipeline to show the effect of that phase on the rendering process, without requiring any code changes in your game. If using a certain override mode improves performance significantly, then that overridden mode might be a performance bottleneck, and therefore warrants further analysis.
For example, overrides can help isolate where in the rendering pipeline your bottlenecks are: try out Texture 2x2 to see whether your textures are causing memory bandwidth issues ("thrashing").
For more details see the Intel GPA Online Help.

Back to Top

More Information

To learn more about Intel GPA, be sure to check out the help documentation. Also see videos and other product documentation available from the Intel® GPA Home Page. If you have any questions, issues, or feedback on the product, contact your Intel representative or visit the Intel GPA Support Forum.

Back to Top

* Other names and brands may be claimed as the property of others.

Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.