Wulkan

Android obsługuje Vulkan , niedrogi, wieloplatformowy interfejs API zapewniający wysoką wydajność grafiki 3D. Podobnie jak OpenGL ES (GLES) , Vulkan zapewnia 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 pośredniego binarnego SPIR-V .

Dostawcy systemów na chipach (SoC), tacy jak dostawcy sprzętu niezależnego od 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 instalacji narzędzi specyficznych dla procesora graficznego i wymagań specyficznych dla systemu Android, zobacz Implementowanie Vulkan.

Twórcy aplikacji używają Vulkan do tworzenia aplikacji wykonujących polecenia na GPU przy znacznie zmniejszonym obciążeniu. Vulkan zapewnia również bardziej bezpośrednie mapowanie możliwości obecnego sprzętu graficznego w porównaniu z EGL i GLES, minimalizując ryzyko wystąpienia błędów sterowników i skracając czas testowania programistów.

Ogólne informacje na temat Vulkan można znaleźć w Przeglądzie Vulkan lub na liście zasobów .

Komponenty Vulkana

Wsparcie Vulkan obejmuje następujące komponenty.

Komponenty Vulkana

Rysunek 1. Komponenty Vulkan

Nazwa komponentu Dostawca Opis
Warstwy walidacyjne Vulkan Android (w NDK) Biblioteki używane podczas opracowywania aplikacji Vulkan do wyszukiwania błędów w korzystaniu z interfejsu API Vulkan przez aplikację. Po wykryciu błędów użycia interfejsu API biblioteki te należy usunąć.
Środowisko wykonawcze Vulkan Android Natywna biblioteka libvulkan.so , która udostępnia natywne API Vulkan.

Większość funkcjonalności Vulkan Runtime jest implementowana przez sterownik dostarczony przez dostawcę procesora graficznego. Vulkan Runtime otacza sterownik, zapewnia możliwości przechwytywania interfejsu API (na potrzeby debugowania i innych narzędzi programistycznych) oraz zarządza interakcją pomiędzy sterownikiem a zależnościami platformy.
Kierowca Vulkana SoC Mapuje interfejs API Vulkan na polecenia procesora graficznego specyficzne dla sprzętu i interakcje ze sterownikiem graficznym jądra.

Zmodyfikowane komponenty

BufferQueue i Gralloc obsługują Vulkan:

  • Kolejka buforowa. Dodatkowe wartości wyliczeniowe i metody w interfejsie BufferQueue i ANativeWindow umożliwiają Vulkan Runtime łączenie się z BufferQueue poprzez ANativeWindow .
  • Graloc. Opcjonalny interfejs pozwala Grallocowi wykryć, czy dany format może być użyty dla określonej kombinacji producent/konsument, bez przydzielania bufora.

Aby uzyskać szczegółowe informacje na temat tych komponentó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:

  • Program ładujący Vulkan ( libvulkan.so ) na platform/frameworks/native/vulkan . Zawiera moduł ładujący Vulkan dla Androida, a także niektóre narzędzia związane z Vulkan przydatne dla twórców platform.
  • Implementacja Vulkana . Przeznaczony dla procesorów graficznych IHV piszących sterowniki Vulkan dla Androida oraz producentów OEM integrujących te sterowniki dla określonych urządzeń. Opisuje interakcję sterownika Vulkan z systemem, sposób instalacji narzędzi specyficznych dla procesora graficznego oraz wymagania implementacyjne 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 Androida, korzystania z kompilatorów modułu cieniującego Vulkan i korzystania z warstw walidacyjnych, aby zapewnić stabilność w aplikacjach korzystających z Vulkan.
  • Wiadomości Vulkan . Obejmuje wydarzenia, poprawki, samouczki i inne artykuły związane z Vulkan.