Графика в играх для Android значительно улучшилась за последние годы благодаря более мощному оборудованию и усовершенствованным технологиям рендеринга. Сегодня большинство Android-устройств поддерживают Vulkan — стандартный отраслевой API для графики и вычислений. Vulkan позволяет играм эффективно работать на современных устройствах, а новейшая версия API, Vulkan 1.4, представит функцию, которая может значительно улучшить производительность игр на будущих устройствах с Android 16. И ждать этого осталось совсем недолго.

Vulcan может быть новой вехой развития Android. Изображение: Linuxiac
Что такое Vulkan и почему это важно
Графический API Vulkan — это современный кроссплатформенный 3D-графический и вычислительный интерфейс с низкими накладными расходами. Он предоставляет разработчикам более прямой контроль над GPU, чем устаревший API OpenGL, который Vulkan и заменяет. Такой непосредственный контроль снижает нагрузку на CPU, что приводит к улучшенной производительности в многопоточных приложениях и играх. Также это позволяет использовать продвинутые функции, поддерживаемые современными мобильными GPU, например, трассировку лучей.
Android впервые представил поддержку графического API Vulkan в версии 7.0 Nougat в 2016 году, но изначально его поддерживало лишь небольшое количество устройств. Сейчас более 85% устройств Android поддерживают Vulkan. В результате Google недавно сделал Vulkan официальным графическим API для Android, что означает, что все программное обеспечение должно будет использовать его для взаимодействия с GPU устройства.
Не забывайте о нашем Дзен, где очень много всего интересного и познавательного!
Использование Vulcan на Android
Хотя большинство Android-устройств на рынке сейчас поддерживают Vulkan, существует значительная непоследовательность в конкретных функциях, которые поддерживают отдельные устройства. Для улучшения согласованности доступных функций Vulkan на устройствах Android, Google представила программу Vulkan Profiles for Android (VPA) в прошлом году.

Android шел к Vulcan постепенно. Изображение: androidauthority
VPA определяет набор функций Vulkan, которые GPU должны поддерживать, чтобы пройти сертификационное тестирование Google для конкретной версии Android. Например, VPA 16, нацеленный на чипсеты следующего поколения, выпускаемые с поддержкой Android 16, требует, чтобы GPU поддерживали определенный минимальный набор функций Vulkan.
Присоединяйтесь к нам в Telegram!
Что такое функция Host Image Copy
Одной из функций Vulkan, требуемых VPA 16, является Host Image Copy — функция, которая является частью спецификации Vulkan 1.4. Один из инженеров Google называет её «революционной для игр на Android». В блоге Шахбаз Юссефи, старший разработчик программного обеспечения Google, работающий над бэкендом Vulkan для ANGLE, объясняет, что Host Image Copy обеспечивает потоковую передачу текстурных данных без задержек и более быструю загрузку, одновременно вдвое сокращая использование памяти GPU.
Эта функция позволяет играм копировать данные изображений, такие как текстуры, используя CPU устройства вместо GPU. Традиционно передача данных изображения из оперативной памяти или хранилища устройства в GPU включала несколько этапов: сначала копирование данных во временный буфер в памяти GPU, а затем GPU копировал их из этого буфера в конечный пункт назначения.

Новый подход позволит существенно ускорить игры. Изображение: androidauthority
Благодаря возможности CPU напрямую копировать данные изображений между памятью хоста и памятью изображений GPU, или даже между двумя изображениями на стороне хоста, Host Image Copy исключает необходимость во временном буфере. Это вдвое уменьшает объем памяти GPU, необходимой для передачи и, используя несколько потоков CPU для параллельной загрузки текстурных данных, улучшает время загрузки. Это также освобождает ресурсы GPU, которые могут быть использованы для более плавного рендеринга кадров, уменьшая подвисания.
Если ищите что-то интересное на AliExpress, не проходите мимо Telegram-канала "Сундук Али-Бабы"!
Что будет с играми на Android 16
Host Image Copy окажется особенно полезным для игр на Android, поскольку обеспечивает более быструю загрузку приложений, уменьшает подвисания и снижает использование памяти GPU. Ожидается, что подавляющее большинство устройств Android с Vulkan 1.4 будут реализовывать Host Image Copy, и делать это оптимально для сжатых форматов.
Хотя некоторые современные устройства Android уже поддерживают функцию Host Image Copy, их количество существенно вырастет, когда начнут появляться новые устройства с Android 16, как требуется VPA 16. Это обещает значительное улучшение игрового опыта на Android в ближайшем будущем.