Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Вулкан
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Android поддерживает Vulkan — кроссплатформенный API с низкими издержками для высокопроизводительной 3D-графики. Как и OpenGL ES (GLES) , Vulkan предоставляет инструменты для создания высококачественной графики в реальном времени в приложениях. Преимущества использования Vulkan включают снижение нагрузки на процессор и поддержку языка SPIR-V Binary Intermediate .
Поставщики систем на чипе (SoC), такие как независимые от GPU поставщики оборудования (IHV), могут писать драйверы Vulkan для Android. OEM-производителям необходимо интегрировать эти драйверы для определенных устройств. Подробную информацию о том, как драйвер Vulkan взаимодействует с системой, как следует устанавливать инструменты, специфичные для GPU, и требования, специфичные для Android, см. в разделе Реализация Vulkan.
Разработчики приложений используют Vulkan для создания приложений, которые выполняют команды на GPU со значительно сниженными накладными расходами. Vulkan также обеспечивает более прямое сопоставление с возможностями, имеющимися в текущем графическом оборудовании, по сравнению с EGL и GLES, сводя к минимуму возможности для ошибок драйверов и сокращая время тестирования разработчика.
Для получения общей информации о Vulkan обратитесь к обзору Vulkan или ознакомьтесь со списком ресурсов .
Компоненты Вулкана
Поддержка Vulkan включает в себя следующие компоненты.

Рисунок 1. Компоненты Vulkan
Название компонента | Провайдер | Описание |
---|
Слои проверки Vulkan | Android (в NDK) | Библиотеки, используемые при разработке приложений Vulkan для поиска ошибок в использовании API Vulkan приложением. После обнаружения ошибок использования API эти библиотеки следует удалить. |
Vulkan Runtime | андроид | Собственная библиотека libvulkan.so , предоставляющая собственный API Vulkan.
Большая часть функциональности Vulkan Runtime реализована драйвером, предоставляемым поставщиком GPU. Vulkan Runtime оборачивает драйвер, предоставляет возможности перехвата API (для отладки и других инструментов разработчика) и управляет взаимодействием между драйвером и зависимостями платформы. |
Драйвер Вулкан | SoC | Сопоставляет API Vulkan с аппаратно-специфичными командами графического процессора и взаимодействиями с графическим драйвером ядра. |
Модифицированные компоненты
BufferQueue и Gralloc поддерживают Vulkan:
- BufferQueue. Дополнительные значения перечисления и методы в BufferQueue и интерфейсе
ANativeWindow
позволяют Vulkan Runtime подключаться к BufferQueue через ANativeWindow
. - Gralloc. Дополнительный интерфейс позволяет Gralloc обнаружить, может ли данный формат использоваться для конкретной комбинации производителя/потребителя без выделения буфера.
Подробную информацию об этих компонентах см. в BufferQueue и gralloc . Подробную информацию об ANativeWindow
см. в EGLSurfaces и OpenGL ES ).
Ресурсы
Чтобы узнать больше о Vulkan, используйте следующие ресурсы:
- Загрузчик Vulkan (
libvulkan.so
) в platform/frameworks/native/vulkan
. Содержит загрузчик Android Vulkan, а также некоторые инструменты, связанные с Vulkan, полезные разработчикам платформы. - Реализация Vulkan . Предназначено для IHV GPU, пишущих драйверы Vulkan для Android, и OEM-производителей, интегрирующих эти драйверы для определенных устройств. Описывает, как драйвер Vulkan взаимодействует с системой, как следует устанавливать инструменты, специфичные для GPU, и требования к реализации, специфичные для Android.
- Руководство по графическому API Vulkan . Содержит информацию о начале работы с использованием Vulkan в приложениях Android, рекомендации по проектированию платформы Vulkan для Android, использование компиляторов шейдеров Vulkan и использование слоев проверки для обеспечения стабильности приложений, использующих Vulkan.
- Новости Vulkan . Описывает события, патчи, руководства и другие новостные статьи, связанные с Vulkan.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Vulkan\n\nAndroid supports\n[Vulkan](https://www.khronos.org/vulkan/), a\nlow-overhead, cross-platform API for high-performance 3D graphics. Like\n[OpenGL ES (GLES)](https://www.khronos.org/opengles/),\nVulkan provides tools for creating high-quality, real-time graphics\nin apps. Advantages of using Vulkan include reductions in CPU overhead and\nsupport for the [SPIR-V\nBinary Intermediate](https://www.khronos.org/spir) language.\n\nSystem on chip vendors (SoCs) such as GPU independent hardware vendors (IHVs)\ncan write Vulkan drivers for Android. OEMs need to integrate these\ndrivers for specific devices. For details on how a Vulkan driver interacts with\nthe system, how GPU-specific tools should be installed, and Android-specific\nrequirements, see [Implementing\nVulkan.](/docs/core/graphics/implement-vulkan)\n\nApplication developers use Vulkan to create apps that\nexecute commands on the GPU with significantly reduced overhead. Vulkan also\nprovides a more direct mapping to the capabilities found in current graphics\nhardware compared to [EGL](https://www.khronos.org/egl) and GLES,\nminimizing opportunities for driver bugs and reducing developer testing time.\n\nFor general information on Vulkan, refer to the\n[Vulkan\nOverview](http://khr.io/vulkanlaunchoverview) or see the list of [Resources](#resources).\n\nVulkan components\n-----------------\n\nVulkan support includes the following components.\n\n**Figure 1.** Vulkan components\n\n| Component name | Provider | Description |\n|--------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Vulkan Validation Layers | Android (in the NDK) | Libraries used during the development of Vulkan apps to find errors in an app's use of the Vulkan API. After API usage errors are found, these libraries should be removed. |\n| Vulkan Runtime | Android | A native library, `libvulkan.so`, that provides a native Vulkan API. Most of Vulkan Runtime's functionality is implemented by a driver provided by the GPU vendor. Vulkan Runtime wraps the driver, provides API interception capabilities (for debugging and other developer tools), and manages the interaction between the driver and the platform dependencies. |\n| Vulkan Driver | SoC | Maps the Vulkan API onto hardware-specific GPU commands and interactions with the kernel graphics driver. |\n\nModified components\n-------------------\n\nBufferQueue and Gralloc support Vulkan:\n\n- **BufferQueue.** Additional enum values and methods in BufferQueue and the `ANativeWindow` interface enable Vulkan Runtime to connect to BufferQueue through `ANativeWindow`.\n- **Gralloc.** An optional interface lets Gralloc discover whether a given format can be used for a particular producer/consumer combination without allocating a buffer.\n\nFor details on these components, see\n[BufferQueue and\ngralloc](/docs/core/graphics/arch-bq-gralloc). For details on `ANativeWindow`, see\n[EGLSurfaces and OpenGL\nES](/docs/core/graphics/arch-egl-opengl)).\n\nResources\n---------\n\nUse the following resources to learn more about Vulkan:\n\n- [Vulkan Loader](https://android.googlesource.com/platform/frameworks/native/+/android16-release/vulkan/#) (`libvulkan.so`) at `platform/frameworks/native/vulkan`. Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.\n- [Implementing Vulkan](/docs/core/graphics/implement-vulkan). Intended for GPU IHVs writing Vulkan drivers for Android and OEMs integrating those drivers for specific devices. It describes how a Vulkan driver interacts with the system, how GPU-specific tools should be installed, and Android-specific implementation requirements.\n- [Vulkan Graphics API Guide](https://developer.android.com/ndk/guides/graphics/index.html). Includes information on getting started with using Vulkan in Android apps, Android's Vulkan design guidelines platform, using Vulkan's shader compilers, and using validation layers to help ensure stability in apps using Vulkan.\n- [Vulkan News](https://www.khronos.org/#slider_vulkan). Covers events, patches, tutorials, and more Vulkan-related news articles."]]