| Non-Confidential - REL | 101545__00_en | |||
| ||||
| Home > Overview of Graphics Analyzer > Using Graphics Analyzer | ||||
Graphics Analyzer enables you to explore the graphical output of your Android application, and identify scenes that might be causing performance problems. It captures every OpenGL ES or Vulkan API call that your application makes as it runs on a target device.
Use Graphics Analyzer to evaluate the impact of each draw call and look for opportunities to optimize performance, for example:
To see Graphics Analyzer in action, watch this video.
Graphics Analyzer shows you all the function calls the application makes as it runs on your connected device. This information helps you to understand exactly what the application requested from the graphics system and what the system returned. You can then investigate how and why the system state changed over time.
At each function call, see the currently allocated buffer objects, shaders, and textures your application is using, and their properties.
Graphics Analyzer reports problems such as improper use of the API. For example, passing illegal arguments, or any issues that are known to adversely impact performance.
See the visual output to each framebuffer, alongside the color, depth, and stencil attachments. Step through the draw calls to see how the frame is composed.
Viewing the geometry alongside the framebuffer output helps you evaluate whether the level of detail is appropriate for the object in the scene. Step through each draw call to see the impact on the scene and whether you could improve performance by:
If a scene has too many fragments to process, or if fragments are too expensive to process efficiently, you might see slow performance. In Graphics Analyzer, you can analyze the number of fragments processed by each shader, alongside approximate cycle cost and register usage.
If content has a high degree of overdraw it can perform poorly, because of the cumulative cost of shading multiple layers. Poor performance can occur even if the layers are simple, especially for devices running at high resolutions and frame rates. To show overdraw in Graphics Analyzer, areas of the scene are overlaid with white, where multiple fragments are shaded per output pixel. The whiter the area, the more overdraw is present.
See which shaders are used in each part of the scene. The shader map helps you to detect problems where incorrect shaders have been assigned. It also helps you find the most expensive shaders that have the greatest impact on game performance. These shaders can be targeted for optimization, either by reducing their complexity, or by reducing the number of fragments they must process.
Capturing data with Graphics Analyzer is easy. Your device must be in developer mode and have USB debugging enabled. Graphics Analyzer connects to the device through USB, and captures your application as it runs on the device. When you come to a problem area, pause Graphics Analyzer and capture extra frame data, such as the framebuffer output, shader map, or level of overdraw.
See Chapter 3 Getting started for full details.