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

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

О компании 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, сообщите нам об этом, отправив сообщение в нашу систему отслеживания ошибок .