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, начиная с Android 10 (уровень API 29) и выше, поддерживают Vulkan 1.1. Восемьдесят пять процентов активных устройств Android поддерживают Vulkan. Профиль Android Baseline определяет минимальный набор функций для устройств, поддерживающих Vulkan.
Vulkan помогает создавать более качественные и производительные игры. Vulkan раскрывает весь потенциал современного графического оборудования. Vulkan используется фреймворком рендеринга пользовательского интерфейса Android на совместимых устройствах. Текущие версии игровых движков Unity и Unreal выбирают Vulkan в качестве рендерера по умолчанию на совместимых устройствах Android. Проект 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, сообщите нам об этом, отправив сообщение в нашу систему отслеживания ошибок .