Vulkan es una API de gráficos 3D multiplataforma moderna que se diseñó para minimizar la abstracción entre el hardware de gráficos del dispositivo y tu juego. Vulkan es la principal API de gráficos de bajo nivel de Android que reemplaza a OpenGL ES. OpenGL ES aún es compatible con Android, pero ya no se encuentra en desarrollo activo de funciones. Vulkan ofrece las siguientes ventajas en comparación con OpenGL ES:
- Arquitectura más eficiente con menor sobrecarga de CPU en el controlador de gráficos
- Nuevas estrategias de optimización para mejorar el rendimiento de la CPU
- Nuevas funciones de gráficos que no están disponibles en OpenGL ES, como las APIs desvinculadas y el trazado de rayos
Vulkan está disponible en Android a partir de Android 7 (nivel de API 24). Todos los dispositivos Android de 64 bits a partir de Android 10 (nivel de API 29) admiten Vulkan 1.1. El ochenta y ocho porciento de los dispositivos Android activos admite Vulkan. El perfil del modelo de referencia de Android define un conjunto de funciones mínimas para dispositivos compatibles con Vulkan.
Vulkan te permite crear juegos que se ven y funcionan mejor. Vulkan libera todo el potencial del hardware gráfico moderno. El framework de renderización de la IU de Android usa Vulkan en dispositivos compatibles. Las versiones actuales de los motores de juegos Unity y Unreal eligen Vulkan como procesador predeterminado en dispositivos Android compatibles. El proyecto ANGLE usa una implementación conforme a la API de OpenGL ES por sobre Vulkan.
Primeros pasos
C/C++
Para aprender a usar Vulkan en tu motor de juego C/C++ en Android, consulta Cómo comenzar a usar Vulkan en Android.
Además, en la documentación del Native Development Kit (NDK), hay una sección genérica de Vulkan para desarrolladores que no son de juegos en la que se abordan los siguientes temas:
- Compiladores de sombreadores para mejorar el rendimiento
- Capas de validación para la depuración de código de Vulkan
- Extensiones de Vulkan para funcionalidades personalizadas
- El perfil del modelo de referencia de Android para conocer los requisitos del dispositivo
Motores de juego
Acerca de ANGLE
Vulkan es la interfaz preferida de Android para la GPU. Android 15 y versiones posteriores incluyen ANGLE como una capa opcional para ejecutar OpenGL ES sobre Vulkan. El cambio a ANGLE estandariza la implementación de OpenGL de Android para mejorar la compatibilidad y, en algunos casos, el rendimiento.
Prueba la estabilidad y el rendimiento de tu app de OpenGL ES con ANGLE en una amplia variedad de dispositivos con Android 15 o versiones posteriores. Para ello, habilita ANGLE para tu paquete con los siguientes dos comandos de adb. Reemplaza "package-name" por el paquete que deseas probar.
adb shell settings put global angle_gl_driver_selection_pkgs package-name
adb shell settings put global angle_gl_driver_selection_values angle
Estos parámetros de configuración persisten después de que se reinicia el dispositivo. Para inhabilitar ANGLE, usa los siguientes comandos:
adb shell settings delete global angle_gl_driver_selection_pkgs
adb shell settings delete global angle_gl_driver_selection_values
Habilita el uso de ANGLE a través del manifiesto de la aplicación
En Android 17 y versiones posteriores, los desarrolladores pueden agregar una marca de metadatos en el manifiesto de la aplicación para solicitar ANGLE como controlador de GLES. Esto no garantiza que se usará ANGLE, sino que indica que se "prefiere" usar ANGLE como controlador de GLES. Si no se puede usar ANGLE, se usará el controlador GLES del proveedor de la GPU.
<application android:appCategory="game">
<meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>
Hoja de ruta de Android ANGLE en Vulkan

Informa un problema con ANGLE
Si tienes algún problema con ANGLE, infórmanos al respecto a través de nuestra herramienta de seguimiento de errores.