Vulkan

Android obsługuje Vulkana, interfejs API o niskim narzucie na wielu platformach do obsługi wydajnej 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 Vulkana to m.in. mniejsze obciążenie procesora i obsługa SPIR-V, czyli binarnego języka pośredniego.

Dostawcy układów SoC, np. niezależni dostawcy sprzętu GPU (IHV), 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 możliwości obecnych kart graficznych 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 zostaną usunięte.
Ś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 i interakcje procesora graficznego specyficzne dla sprzętu z sterownikiem graficznym jądra.

Zmodyfikowane komponenty

BufferQueue i Gralloc obsługują interfejs Vulkan:

  • BufferQueue Dodatkowe wartości wyliczeniowe i metody w klasie BufferQueue oraz interfejs 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 przypadku konkretnej kombinacji producenta i konsumenta bez przydzielania bufora.

Szczegółowe informacje o tych komponentach znajdziesz w sekcjach BufferQueue i gralloc. Więcej informacji o ANativeWindow znajdziesz w artykule EGLSurfaces i OpenGL ES.

Zasoby

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 w Androidzie oraz niektóre narzędzia związane z Vulkanem, które są 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 platformy Vulkan w aplikacjach na Androida, wytyczne dotyczące projektowania platformy Vulkan na Androida, korzystanie z kompilatorów shaderów Vulkan oraz używanie warstw weryfikacji, które pomagają zapewnić stabilność aplikacji korzystających z platformy Vulkan.
  • Vulkan News Obejmuje wydarzenia, poprawki, samouczki i inne artykuły związane z platformą Vulkan.