GAPID supports capturing from both Android devices and Windows/Linux desktop machines. On Android devices, GAPID supports tracing all OpenGL ES and Vulkan calls made by either a pure Java, native or hybrid application. On Windows/Linux desktop machines, GAPID supports tracing Vulkan calls.
Dependencies and prerequisites
- A device running Android Lollipop 5.0 (or more recent).
- Either a debuggable application, or a device running a ‘rooted’ user-debug build.
- Android SDK installed on the host machine.
- Android hardware device connected through USB.
- The device must have USB debugging enabled and the host machine must be authorized for debugging.
- We recommend to set the “Stay awake” developer option to prevent issues that arise when the device screen sleeps.
- Make sure to stop any program that may interact with the device over ADB, such as Android Studio, while using GAPID.
- A Vulkan application compiled with x86-64. 32-bit applications are NOT currently supported.
Taking a capture
Capture Trace... text in the welcome screen, or click the
Capture Trace toolbar item to open the trace dialog.
Devicedrop-down, select the device to trace.
APIdrop-down, select the graphics API you want to trace.
...button, select the Android Activity or browse the application that you want to trace.
Add any command-line
Argumentsthat are necessary for your program.
Working Directoryfor your program, only valid for tracing on Windows/Linux machines.
Environment Variablesfor tracing your program, only valid for tracing on Windows/Linux machines.
If you wish to automatically stop tracing after N frames, then use a non-zero number for
If you wish to start tracing as soon as the application is launched, enable the
Trace From Beginningoption. If this option is NOT set, then in the tracing dialog, you must press
Startto start the capture. Tracing OpenGL ES calls at the middle of the execution of an Android Activity (not from the beginning of the application by disabling this option) is currently an experimental feature.
Disable Bufferingdisables the bufferring of the capture data on the tracing device which will slow down the tracing process. But in case of a crash, more the most recent data will be provided.
If you would like to erase the package cache before taking the trace, enable the
Clear package cacheoption.
Hide Unknown Extensionshides the Vulkan extensions not supported by GAPID to the application when tracing Vulkan calls. For GLES calls, it does not do anything. GAPID always hide unknown extensions when tracing OpenGL ES calls.
If tracing an OpenGL ES application you likely want to keep the
Disable pre-compiled shadersoption enabled. This option fakes no driver support for pre-compiled shaders for OpenGL ES, usually forcing the application to use
glShaderSource(). GAPID is currently unable to replay captures that uses pre-compiled shaders when tracing for OpenGL ES. This option is invalid when tracing Vulkan Calls.
Select an output directory
Select an output file name.
OK to begin the trace.