Vulkan

Android obsługuje Vulkan , wieloplatformowy interfejs API o niskim nakładzie pracy dla wysokowydajnej grafiki 3D. Podobnie jak OpenGL ES (GLES) , Vulkan udostępnia narzędzia do tworzenia wysokiej jakości grafiki w czasie rzeczywistym w aplikacjach. Zalety korzystania z Vulkan obejmują zmniejszenie obciążenia procesora i obsługę języka SPIR-V Binary Intermediate .

Dostawcy systemów na chipach (SoC), tacy jak niezależni dostawcy sprzętu GPU (IHV), mogą pisać sterowniki Vulkan dla Androida. Producenci OEM muszą zintegrować te sterowniki dla określonych urządzeń. Aby uzyskać szczegółowe informacje na temat interakcji sterownika Vulkan z systemem, sposobu instalowania narzędzi specyficznych dla procesora GPU oraz wymagań specyficznych dla systemu Android, zobacz Implementowanie Vulkan.

Twórcy aplikacji używają Vulkan do tworzenia aplikacji, które wykonują polecenia na GPU ze znacznie zmniejszonym obciążeniem. Vulkan zapewnia również bardziej bezpośrednie mapowanie możliwości obecnych w sprzęcie graficznym w porównaniu z EGL i GLES, minimalizując możliwość wystąpienia błędów sterowników i skracając czas testowania programistów.

Aby uzyskać ogólne informacje na temat Vulkana, zapoznaj się z Przeglądem Vulkana lub zobacz listę Zasobów .

Komponenty Vulkan

Wsparcie Vulkan obejmuje następujące komponenty.

Komponenty Vulkan

Rysunek 1. Komponenty Vulkan

Nazwa komponentu Dostawca Opis
Warstwy walidacyjne Vulkan Android (w NDK) Biblioteki używane podczas tworzenia aplikacji Vulkan do znajdowania błędów w korzystaniu z interfejsu API Vulkan przez aplikację. Po znalezieniu błędów użytkowania API, biblioteki te powinny zostać usunięte.
Środowisko wykonawcze Vulkan Android Natywna biblioteka libvulkan.so , która zapewnia natywne API Vulkan.

Większość funkcji Vulkan Runtime jest zaimplementowana przez sterownik dostarczony przez dostawcę GPU. Vulkan Runtime otacza sterownik, zapewnia możliwości przechwytywania interfejsu API (do debugowania i innych narzędzi programistycznych) oraz zarządza interakcją między sterownikiem a zależnościami platformy.
Wulkan kierowca SoC Mapuje Vulkan API na polecenia GPU specyficzne dla sprzętu i interakcje ze sterownikiem graficznym jądra.

Zmodyfikowane komponenty

BufferQueue i Gralloc obsługują Vulkan:

  • Kolejka buforów. Dodatkowe wartości i metody wyliczenia w BufferQueue i interfejsie ANativeWindow umożliwiają Vulkan Runtime łączenie się z BufferQueue za pośrednictwem ANativeWindow .
  • Gralloc. Opcjonalny interfejs pozwala firmie Gralloc wykryć, czy dany format może być używany dla określonej kombinacji producent/odbiorca bez przydzielania bufora.

Aby uzyskać szczegółowe informacje na temat tych składników, zobacz BufferQueue i gralloc . Aby uzyskać szczegółowe informacje na temat ANativeWindow , zobacz EGLsurfaces i OpenGL ES ).

Zasoby

Skorzystaj z następujących zasobów, aby dowiedzieć się więcej o Vulkan:

  • Vulkan Loader ( libvulkan.so ) na platform/frameworks/native/vulkan . Zawiera program ładujący Vulkan dla Androida, a także niektóre narzędzia związane z Vulkan, przydatne dla programistów platform.
  • Wdrażanie Vulkan . Przeznaczony dla GPU IHV piszących sterowniki Vulkan dla systemu Android i producentów OEM integrujących te sterowniki dla określonych urządzeń. Opisuje, w jaki sposób sterownik Vulkan współdziała z systemem, jak należy zainstalować narzędzia specyficzne dla GPU oraz wymagania dotyczące implementacji specyficzne dla systemu Android.
  • Przewodnik po interfejsie API grafiki Vulkan . Zawiera informacje na temat rozpoczęcia korzystania z Vulkan w aplikacjach na Androida, platformy wytycznych projektowych Vulkan dla systemu Android, korzystania z kompilatorów shaderów Vulkan oraz korzystania z warstw walidacji w celu zapewnienia stabilności w aplikacjach korzystających z Vulkan.
  • Wiadomości o Wulkanie . Obejmuje wydarzenia, poprawki, samouczki i inne artykuły związane z Vulkanem.