Android obsługuje Vulkana, wieloplatformowy interfejs API o niskim narzucie do obsługi wydajnej grafiki 3D. Podobnie jak OpenGL ES (GLES), Vulkan udostępnia narzędzia do tworzenia w aplikacjach wysokiej jakości grafiki w czasie rzeczywistym. Zalety korzystania z Vulkana to m.in. zmniejszenie obciążenia procesora i obsługa języka SPIR-V Binary Intermediate.
Dostawcy układów SOC, np. niezależni dostawcy sprzętu (IHV) GPU, mogą tworzyć sterowniki Vulkan dla Androida. Producenci OEM muszą zintegrować te sterowniki z określonymi urządzeniami. Szczegółowe informacje o tym, jak sterownik Vulkan współdziała z systemem, jak instalować narzędzia specyficzne dla GPU i jakie są wymagania dotyczące Androida, znajdziesz w artykule Wdrażanie Vulkan.
Deweloperzy aplikacji używają interfejsu Vulkan do tworzenia aplikacji, które wykonują polecenia na procesorze graficznym przy znacznie mniejszym obciążeniu. Vulkan zapewnia też bardziej bezpośrednie mapowanie funkcji dostępnych w obecnym sprzęcie graficznym w porównaniu z EGL i GLES, co minimalizuje ryzyko wystąpienia błędów sterownika i skraca czas testowania przez deweloperów.
Ogólne informacje o Vulkanie znajdziesz w omówieniu lub na liście zasobów.
Komponenty interfejsu Vulkan
Obsługa Vulkan obejmuje te komponenty:
Rysunek 1. Komponenty interfejsu Vulkan
Nazwa komponentu | Dostawca | Opis |
---|---|---|
Warstwy weryfikacji interfejsu Vulkan | Android (w NDK) | Biblioteki używane podczas tworzenia aplikacji Vulkan do znajdowania błędów w korzystaniu z interfejsu Vulkan API. Po wykryciu błędów użycia interfejsu API należy usunąć te biblioteki. |
Środowisko wykonawcze Vulkan | Android | Biblioteka natywna libvulkan.so , która udostępnia natywny interfejs Vulkan API.Większość funkcji środowiska wykonawczego Vulkan jest implementowana przez sterownik dostarczony przez producenta procesora graficznego. Środowisko wykonawcze Vulkan otacza sterownik, zapewnia możliwości przechwytywania interfejsu API (na potrzeby debugowania i innych narzędzi dla deweloperów) oraz zarządza interakcją między sterownikiem a zależnościami platformy. |
Sterownik Vulkan | SOC | Mapuje interfejs Vulkan API na polecenia procesora graficznego specyficzne dla sprzętu i interakcje ze sterownikiem graficznym jądra. |
Zmodyfikowane komponenty
BufferQueue i Gralloc obsługują interfejs Vulkan:
- BufferQueue Dodatkowe wartości wyliczeniowe i metody w klasach BufferQueue i
ANativeWindow
umożliwiają środowisku wykonawczemu Vulkan łączenie się z klasą BufferQueue za pomocą interfejsuANativeWindow
. - Gralloc. Opcjonalny interfejs umożliwia Gralloc sprawdzenie, czy dany format może być używany w określonej kombinacji producenta/konsumenta bez przydzielania bufora.
Szczegółowe informacje o tych komponentach znajdziesz w sekcjach BufferQueue i gralloc. Więcej informacji o ANativeWindow
znajdziesz w sekcji EGLSurfaces i OpenGL ES.
Materiały
Aby dowiedzieć się więcej o platformie Vulkan, skorzystaj z tych materiałów:
-
Vulkan Loader (
libvulkan.so
) atplatform/frameworks/native/vulkan
. Zawiera program ładujący Vulkan na Androida, a także niektóre narzędzia związane z Vulkanem przydatne dla deweloperów platform. - Wdrażanie interfejsu Vulkan Przeznaczony dla niezależnych producentów sprzętu GPU, którzy piszą sterowniki Vulkan na Androida, oraz producentów OEM, którzy integrują te sterowniki z określonymi urządzeniami. Opisuje, jak sterownik Vulkan wchodzi w interakcję z systemem, jak instalować narzędzia specyficzne dla procesora graficznego oraz jakie są wymagania dotyczące implementacji w Androidzie.
- Przewodnik po interfejsie Vulkan Graphics API Zawiera informacje o tym, jak zacząć korzystać z Vulkana w aplikacjach na Androida, wytyczne dotyczące projektowania platformy Vulkan na Androida, korzystanie z kompilatorów cieniowania Vulkan oraz używanie warstw weryfikacji, które pomagają zapewnić stabilność aplikacji korzystających z Vulkana.
- Vulkan News. Obejmuje wydarzenia, poprawki, samouczki i inne artykuły związane z Vulkanem.