12/14/17

Diagnose and understand your app's GPU behavior with GAPID








Posted by Andrew Woloszyn, Software Engineer


Developing for 3D is complicated. Whether you're using a native graphics API or
enlisting the help of your favorite game engine, there are thousands of graphics
commands that have to come together perfectly to produce beautiful 3D images on
your phone, desktop or VR headsets.



GAPID (Graphics API
Debugger)
is a new tool that helps developers diagnose rendering and
performance issues with their applications. With GAPID, you can capture a trace
of your application and step through each graphics command one-by-one. This lets
you visualize how your final image is built and isolate problematic calls, so
you spend less time debugging through trial-and-error.



GAPID supports OpenGL ES on Android, and Vulkan on Android, Windows and Linux.








Debugging in action, one draw call at a time



GAPID not only enables you to diagnose issues with your rendering commands, but
also acts as a tool to run quick experiments and see immediately how these
changes would affect the presented frame.



Here are a few examples where GAPID can help you isolate and fix issues with
your application:


What's the GPU doing?








Why isn't my text appearing?!



Working with a graphics API can be frustrating when you get an unexpected
result, whether it's a blank screen, an upside-down triangle, or a missing mesh.
As an offline debugger, GAPID lets you take a trace of these applications, and
then inspect the calls afterwards. You can track down exactly which command
produced the incorrect result by looking at the framebuffer, and inspect the
state at that point to help you diagnose the issue.


What happens if I do X?








Using GAPID to edit shader code



Even when a program is working as expected, sometimes you want to experiment.
GAPID allows you to modify API calls and shaders at will, so you can test things
like:


  • What if I used a different texture on this object?
  • What if I changed the calculation of bloom in this shader?


With GAPID, you can now iterate on the look and feel of your app without having
to recompile your application or rebuild your assets.



Whether you're building a stunning new desktop game with Vulkan or a beautifully
immersive VR experience on Android, we hope that GAPID will save you both time
and frustration and help you get the most out of your GPU. To get started with
GAPID and see just how powerful it is, href="https://github.com/google/gapid/releases">download it, take your
favorite application, and href="https://google.github.io/gapid/tutorials/capturetrace">capture a
trace!




Load disqus comments

0 comments

loading...