Vulkan is a modern cross-platform 3D graphics API designed to minimize abstraction between device graphics hardware and your game. Vulkan is the primary low-level graphics API on Android, replacing OpenGL ES. OpenGL ES is still supported on Android, but is no longer under active feature development. Vulkan offers the following advantages over OpenGL ES:
- A more efficient architecture with lower CPU overhead in the graphics driver
- New optimization strategies to improve CPU performance
- New graphics features not available in OpenGL ES such as bindless APIs and ray tracing
Vulkan is available on Android from Android 7 (API level 24). All 64-bit Android devices from Android 10 (API level 29) and higher support Vulkan 1.1. Eighty-five percent of active Android devices support Vulkan. The Android Baseline profile defines a minimum feature set for Vulkan-capable devices.
Vulkan helps you create better looking and more performant games. Vulkan unlocks the full potential of modern graphics hardware. Vulkan is used by the Android UI rendering framework on compatible devices. Current versions of the Unity and Unreal game engines choose Vulkan as their default renderer on compatible Android devices. The ANGLE project implements a conformant implementation of the OpenGL ES API on top of Vulkan.
Get started
C/C++
The Native Development Kit (NDK) documentation includes a guide to getting started with Vulkan on Android. The Vulkan section in the NDK documentation also covers the following topics:
- Shader compilers for improved performance
- Validation layers for Vulkan code debugging
- Vulkan extensions for custom functionality
- Android Baseline profile for device requirements
Game engines
Optimization
For more information about optimizing your Vulkan implementation on Android, see the following guides:
- Integrate Android Frame Pacing into your Vulkan renderer: Learn how to achieve smooth rendering and correct frame timing
- Handle device orientation with Vulkan pre-rotation: Learn how to efficiently handle device rotation
Learn more
To learn more about using Vulkan on Android, review the following sample code and videos:
Sample code
Videos
- Making high fidelity Android games possible with Vulkan (Google I/O'19)
- Optimizing Vulkan games performance (GGDS 2023)
- Android game graphics - OpenGL ES vs. Vulkan case study (GDC 2023)