Use Vulkan for graphics

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++

To learn how to use Vulkan in your C/C++ game engine on Android, see Get started with Vulkan on Android.

Also, the Vulkan section in the Native Development Kit (NDK) documentation covers the following topics:

Game engines

Optimization

For more information about optimizing your Vulkan implementation on Android, see the following guides:

Learn more

To learn more about using Vulkan on Android, review the following sample code and videos:

Sample code

Videos