Hi, Habr! I present to you the translation of the article “
Diagnose and understand your app's GPU behavior with GAPID ,” by Andrei Voloshin.
Development for 3D is difficult. Regardless of whether you are using your own API for graphics or using your favorite game engine, there are thousands of graphic commands that should be perfectly combined to create beautiful three-dimensional images on phones, desktops, or VR headsets.
GAPID (Graphics API Debugger) is a new tool that helps developers diagnose rendering and performance problems with their applications. With GAPID, you can track the trace of your application and every step of each graphic command. This allows you to visualize how your final image is created and isolate problem calls, so you spend less time debugging through the trial version.
')
GAPID supports OpenGL ES on Android and Vulkan on Android, Windows and Linux.
Debug in action, one call at a timeGAPID not only allows you to diagnose problems with your rendering commands, but also acts as a tool for quickly conducting experiments and immediately sees how these changes affect the displayed frame.
Here are some examples where GAPID can help you isolate and fix problems with your application:
What does the GPU do?
Why is my text not appearing ?!Working with the graphics API can be frustrating when you get an unexpected result, be it a blank screen, an inverted triangle, or a missing grid. As a standalone debugger, GAPID allows you to track these applications and then check for calls. You can determine exactly which team produced the wrong result by looking at the framebuffer and checking the status at this point to help you diagnose the problem.
What happens if I make X?
Using GAPID to edit shader codeEven when the program works as expected, sometimes you want to experiment. GAPID allows you to modify API calls and shaders as desired, so that you can test things like:
- What if I used a different texture on this object?
- What if I changed the heyday calculation in this shader?
With GAPID, you can now iterate over the appearance of your application without recompiling the application or restoring your assets.
Regardless of whether you are creating an awesome new board game with Vulkan or a terrific VR experience on Android, we hope GAPID will save you time and help you get the most out of your GPU. To get started with GAPID and see how effective it is,
download it , take your favorite application and
record the trace !
Author: Andrey Voloshin, Software EngineerLink to the original