Использовать Vulkan для графики

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 для разработчиков неигровых приложений, в котором рассматриваются следующие темы:

Игровые движки

О 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

План развития Android ANGLE на Vulkan

Сообщить о проблеме с ANGLE

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