Vulkan – это современный кросс-платформенный API для 3D-графики, который позволяет свести к минимуму абстракцию между графическим оборудованием устройства и вашей игрой. Vulkan – основной низкоуровневый графический API в Android, который заменил OpenGL ES. OpenGL ES по-прежнему поддерживается в Android, но активная разработка новых функций для него прекращена. Vulkan имеет следующие преимущества по сравнению с OpenGL ES:
- Более эффективная архитектура с меньшей нагрузкой на ЦП в драйвере графического процессора
- Новые стратегии оптимизации для повышения производительности ЦП
- Новые графические функции, недоступные в OpenGL ES, например API без привязки и трассировка лучей.
Vulkan доступен в Android начиная с Android 7 (уровень API 24). Все 64-разрядные устройства Android с версией 10 (уровень API 29) и выше поддерживают Vulkan 1.1. 85 % активных устройств Android поддерживают Vulkan. Базовый профиль Android определяет минимальный набор функций для устройств с поддержкой Vulkan.
Vulkan помогает создавать более качественные и производительные игры. Vulkan позволяет использовать все возможности современных графических процессоров. Vulkan используется фреймворком отрисовки интерфейса Android на совместимых устройствах. В текущих версиях игровых движков Unity и Unreal на совместимых устройствах Android по умолчанию используется Vulkan. Проект ANGLE реализует совместимую реализацию OpenGL ES API на основе Vulkan.
Начать
C/C++
Чтобы узнать, как использовать Vulkan в игровом движке C/C++ на Android, ознакомьтесь со статьей Начало работы с Vulkan на Android.
Кроме того, в документации по Native Development Kit (NDK) есть общий раздел о Vulkan для разработчиков неигровых приложений, в котором рассматриваются следующие темы:
- Компиляторы шейдеров для повышения производительности
- Слои проверки для отладки кода Vulkan
- Расширения Vulkan для специальных функций
- Базовый профиль Android для требований к устройствам
Игровые движки
О ANGLE
Vulkan – предпочтительный интерфейс Android для графического процессора. Android 15 и более поздние версии включают ANGLE как дополнительный уровень для запуска OpenGL ES поверх Vulkan. Переход на ANGLE стандартизирует реализацию OpenGL в Android, что повышает совместимость и в некоторых случаях производительность.
Проверьте стабильность и производительность приложения OpenGL ES с помощью ANGLE на разных устройствах Android 15 и более поздних версий. Для этого включите ANGLE для пакета с помощью двух команд adb. Замените "package-name" названием пакета, который нужно протестировать.
adb shell settings put global angle_gl_driver_selection_pkgs package-name
adb shell settings put global angle_gl_driver_selection_values angle
Эти настройки сохраняются после перезагрузки устройства. Чтобы отключить ANGLE, используйте следующие команды:
adb shell settings delete global angle_gl_driver_selection_pkgs
adb shell settings delete global angle_gl_driver_selection_values
Как включить ANGLE с помощью манифеста приложения
В Android 17 и более поздних версий разработчики могут добавить в манифест приложения флаг метаданных, чтобы запросить ANGLE в качестве драйвера GLES. Это не гарантия того, что будет использоваться ANGLE, а сигнал о том, что ANGLE следует предпочесть в качестве драйвера GLES. Если ANGLE использовать нельзя, вместо него будет использоваться драйвер GLES от поставщика графического процессора.
<application android:appCategory="game">
<meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>
План развития Android ANGLE на Vulkan

Сообщить о проблеме с ANGLE
Если у вас возникли проблемы с ANGLE, сообщите нам об этом, отправив информацию в систему отслеживания ошибок.