Vulkan

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 mniejsze obciążenie procesora i obsługa SPIR-V Binary Intermediate Language.

Dostawcy układów SoC, np. niezależni dostawcy sprzętu GPU, piszą sterowniki Vulkan dla Androida. Producenci OEM integrują te sterowniki z określonymi urządzeniami. Szczegółowe informacje o tym, jak sterownik Vulkan współdziała z systemem, jak instalowane są 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:

Komponenty interfejsu Vulkan

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 te biblioteki są usuwane.
Ś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ą 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ą interfejsu ANativeWindow.
  • 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. Szczegółowe informacje o ANativeWindow znajdziesz w artykule EGLSurfaces i OpenGL ES.

Materiały

Więcej informacji o platformie Vulkan znajdziesz w tych materiałach:

  • Vulkan Loader (libvulkan.so) at platform/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.