A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Vulkan
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Android supporta
Vulkan, un' API multipiattaforma con un basso overhead per la grafica 3D ad alte prestazioni. Come OpenGL ES (GLES), Vulkan fornisce strumenti per creare grafica in tempo reale di alta qualità nelle app. I vantaggi dell'utilizzo di Vulkan includono la riduzione del sovraccarico della CPU e il supporto del linguaggio SPIR-V
Binary Intermediate.
I fornitori di SoC (System on chip), come i fornitori di hardware indipendenti (IHV) per GPU, possono scrivere driver Vulkan per Android. Gli OEM devono integrare questi driver per dispositivi specifici. Per informazioni dettagliate su come un driver Vulkan interagisce con il sistema, su come installare gli strumenti specifici per la GPU e sui requisiti specifici per Android, consulta Implementazione di Vulkan.
Gli sviluppatori di applicazioni utilizzano Vulkan per creare app che
eseguono comandi sulla GPU con un overhead notevolmente ridotto. Vulkan offre inoltre una mappatura più diretta alle funzionalità presenti nell'hardware grafico attuale rispetto a EGL e GLES, riducendo al minimo le opportunità di bug dei driver e i tempi di test degli sviluppatori.
Per informazioni generali su Vulkan, consulta la Panoramica di Vulkan o l'elenco delle risorse.
Componenti Vulkan
Il supporto di Vulkan include i seguenti componenti.

Figura 1. Componenti Vulkan
Nome del componente |
Fornitore |
Descrizione |
Livelli di convalida Vulkan |
Android (nell'NDK) |
Librerie utilizzate durante lo sviluppo di app Vulkan per trovare errori nell'uso dell'API Vulkan da parte di un'app. Una volta rilevati errori di utilizzo dell'API, queste
librerie devono essere rimosse. |
Runtime Vulkan |
Android |
Una libreria nativa, libvulkan.so , che fornisce un'API Vulkan nativa.
La maggior parte delle funzionalità di Vulkan Runtime è implementata da un driver fornito dal fornitore della GPU. Vulkan Runtime avvolge il driver, fornisce funzionalità di intercettazione dell'API (per il debug e altri strumenti per sviluppatori) e gestisce l'interazione tra il driver e le dipendenze della piattaforma. |
Driver Vulkan |
SoC |
Mappa l'API Vulkan ai comandi e alle interazioni della GPU specifici dell'hardware con il driver grafico del kernel. |
Componenti modificati
BufferQueue e Gralloc supportano Vulkan:
- BufferQueue. Valori ed enumerazioni aggiuntivi in BufferQueue e nell'interfaccia
ANativeWindow
consentono a Vulkan Runtime di connettersi a BufferQueue tramite ANativeWindow
.
- Gralloc. Un'interfaccia facoltativa consente a Gralloc di scoprire se un determinato formato può essere utilizzato per una determinata combinazione produttore/consumatore senza allocare un buffer.
Per informazioni dettagliate su questi componenti, consulta
BufferQueue e
gralloc. Per informazioni dettagliate su ANativeWindow
, consulta
EGLSurfaces e OpenGL
ES).
Risorse
Per scoprire di più su Vulkan, consulta le seguenti risorse:
-
Vulkan Loader (
libvulkan.so
) alla versione
platform/frameworks/native/vulkan
. Contiene il caricatore Vulkan di Android, nonché alcuni strumenti correlati a Vulkan utili per gli sviluppatori della piattaforma.
- Implementazione di Vulkan.
Destinato agli IHV GPU che scrivono driver Vulkan per Android e agli OEM che li integrano per dispositivi specifici. Descrive come un driver Vulkan interagisce con il sistema, come devono essere installati gli strumenti specifici per la GPU e i requisiti di implementazione specifici per Android.
- Guida all'API Vulkan Graphics. Sono incluse informazioni su come iniziare a utilizzare Vulkan nelle app per Android, sulla piattaforma delle linee guida per la progettazione di Vulkan di Android, sull'utilizzo dei compilatori shader di Vulkan e sull'utilizzo dei livelli di convalida per contribuire a garantire la stabilità nelle app che utilizzano Vulkan.
- Vulkan News. Copre eventi, patch, tutorial e altri articoli di notizie correlati a Vulkan.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 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."]]