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.
System-on-Chip-Anbieter (SoCs) wie unabhängige Hardwareanbieter (IHVs) können Vulkan-Treiber für Android schreiben. OEMs müssen diese Treiber für bestimmte Geräte integrieren. 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 Vulkan-Übersicht oder in der Liste der Ressourcen.
Vulkan-Komponenten
Die Vulkan-Unterstützung umfasst die folgenden Komponenten.
Abbildung 1: Vulkan-Komponenten
Komponentenname | Anbieter | Beschreibung |
---|---|---|
Vulkan-Validierungslayer | Android (im NDK) | Bibliotheken, die während der Entwicklung von Vulkan-Apps verwendet werden, um Fehler bei der Verwendung der Vulkan API durch eine App zu finden. Nachdem API-Nutzungsfehler gefunden wurden, 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, überANativeWindow
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
) unterplatform/frameworks/native/vulkan
Enthält das Vulkan-Ladeprogramm von Android sowie einige Vulkan-bezogene Tools, die für Plattformentwickler nützlich sind. - Vulkan implementieren Für GPU-IHVs, die Vulkan-Treiber für Android schreiben, und OEMs, die diese Treiber für bestimmte Geräte integrieren. 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 Hier finden Sie Neuigkeiten zu Vulkan, z. B. zu Veranstaltungen, Patches und Tutorials.