Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Vulkan
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Android unterstützt Vulkan, eine plattformübergreifende API mit geringem Aufwand für leistungsstarke 3D-Grafiken. Ähnlich wie OpenGL ES (GLES) bietet Vulkan Tools zum Erstellen hochwertiger Echtzeitgrafiken in Apps. Zu den Vorteilen von Vulkan gehören eine Verringerung des CPU-Aufwands und die Unterstützung der SPIR-V-Binary Intermediate-Sprache.
Anbieter von System-on-Chips (SoCs), z. B. GPU-unabhängige Hardwareanbieter (IHVs), können Vulkan-Treiber für Android schreiben. OEMs müssen diese Treiber für bestimmte Geräte einbinden. Weitere Informationen dazu, wie ein Vulkan-Treiber mit dem System interagiert, wie GPU-spezifische Tools installiert werden sollten und welche Android-spezifischen Anforderungen gelten, finden Sie unter Vulkan implementieren.
Anwendungsentwickler verwenden Vulkan, um Apps zu erstellen, die Befehle mit deutlich reduziertem Aufwand auf der GPU ausführen. Im Vergleich zu EGL und GLES bietet Vulkan auch eine direktere Zuordnung zu den Funktionen der aktuellen Grafikhardware, wodurch die Wahrscheinlichkeit von Treiberfehlern minimiert und die Testzeit für Entwickler verkürzt wird.
Allgemeine Informationen zu Vulkan finden Sie in der Übersicht oder in der Liste der Ressourcen.
Vulkan-Komponenten
Der Vulkan-Support umfasst die folgenden Komponenten:

Abbildung 1: Vulkan-Komponenten
Komponentenname |
Anbieter |
Beschreibung |
Vulkan-Validierungslayer |
Android (im NDK) |
Bibliotheken, die bei der Entwicklung von Vulkan-Anwendungen verwendet werden, um Fehler bei der Verwendung der Vulkan API in einer App zu finden. Wenn API-Nutzungsfehler gefunden werden, sollten diese Bibliotheken entfernt werden. |
Vulkan-Laufzeit |
Android |
Eine native Bibliothek, libvulkan.so , die eine native Vulkan API bereitstellt.
Die meisten Funktionen der Vulkan-Laufzeit werden von einem Treiber implementiert, der vom GPU-Anbieter bereitgestellt wird. Die Vulkan-Laufzeit umhüllt den Treiber, bietet API-Abfangfunktionen (für das Debuggen und andere Entwicklertools) und verwaltet die Interaktion zwischen dem Treiber und den Plattformabhängigkeiten. |
Vulkan-Treiber |
SoC |
Ordnet die Vulkan API hardwarespezifischen GPU-Befehlen und Interaktionen mit dem Kernel-Grafiktreiber zu. |
Geänderte Komponenten
BufferQueue und Gralloc unterstützen Vulkan:
- BufferQueue Zusätzliche Enum-Werte und Methoden in BufferQueue und der
ANativeWindow
-Schnittstelle ermöglichen es der Vulkan-Laufzeit, über ANativeWindow
eine Verbindung zu BufferQueue herzustellen.
- Gralloc. Über eine optionale Schnittstelle kann Gralloc ermitteln, ob ein bestimmtes Format für eine bestimmte Kombination aus Produzent und Verbraucher verwendet werden kann, ohne einen Zwischenspeicher zuzuweisen.
Weitere Informationen zu diesen Komponenten finden Sie unter BufferQueue und Gralloc. Weitere Informationen zu ANativeWindow
finden Sie unter EGLSurfaces und OpenGL ES.
Ressourcen
Weitere Informationen zu Vulkan finden Sie in den folgenden Ressourcen:
-
Vulkan-Ladeprogramm (
libvulkan.so
) unter platform/frameworks/native/vulkan
Enthält das Vulkan-Ladeprogramm von Android sowie einige Vulkan-bezogene Tools, die für Plattformentwickler nützlich sind.
- Vulkan implementieren
Entwickelt für GPU-IHVs, die Vulkan-Treiber für Android entwickeln, und OEMs, die diese Treiber für bestimmte Geräte einbinden. Darin wird beschrieben, wie ein Vulkan-Treiber mit dem System interagiert, wie GPU-spezifische Tools installiert werden sollten und welche Android-spezifischen Implementierungsanforderungen gelten.
- Vulkan-Leitfaden zur Grafik-API Enthält Informationen zum Einstieg in die Verwendung von Vulkan in Android-Apps, zu den Vulkan-Designrichtlinien von Android, zur Verwendung der Shader-Compiler von Vulkan und zur Verwendung von Validierungslayern, um die Stabilität von Apps mit Vulkan zu gewährleisten.
- Vulkan News Enthält Informationen zu Veranstaltungen, Patches, Tutorials und weiteren Vulkan-bezogenen Nachrichtenartikeln.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-08 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-08 (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."]]