Omówienie WebGPU

François Beaufort
François Beaufort

WebGPU to interfejs API grafiki w internecie zapewniający znaczne korzyści, takie jak znaczne zmniejszenie obciążenia JavaScriptu w przypadku tej samej grafiki i ponad trzykrotnie lepsze wnioskowanie z modeli systemów uczących się. Jest to możliwe dzięki elastycznemu programowaniu GPU i dostępowi do zaawansowanych funkcji, których WebGL nie zapewnia.

Interfejs API został zaprojektowany z myślą o platformie internetowej. Zawiera idiomatyczny interfejs JavaScript API, integrację z obietnicami, obsługę importowania filmów i dopracowany interfejs dla programistów z wyraźnymi komunikatami o błędach.

WebGPU to efekt współpracy grupy społeczności „GPU for the Web” firmy W3C, w skład której wchodzą duże firmy, takie jak Mozilla, Apple, Intel i Microsoft.

Obsługiwane przeglądarki

Ta wstępna wersja WebGPU została udostępniona w Chrome 113 na urządzeniach z ChromeOS z obsługą interfejsu Vulkan, na urządzeniach z systemem Windows z obsługą Direct3D 12 i na urządzeniach z systemem macOS. Linux i Android oraz rozszerzona obsługa dotychczasowych platform będą dostępne wkrótce.

WebGPU jest w trakcie opracowywania oprócz wstępnej implementacji w Chrome dla przeglądarek Firefox i Safari.

Wsparcie dla biblioteki

Wiele popularnych bibliotek WebGL jest już w trakcie wdrażania obsługi WebGPU lub już to zrobili. Oznacza to, że używanie WebGPU może wymagać tylko zmiany w jednej linii.

  • Babylon.js ma pełną obsługę WebGPU.
  • Firma PlayCanvas zapowiedziała wstępną obsługę WebGPU.
  • TensorFlow.js obsługuje wersje większości operatorów zoptymalizowane pod kątem WebGPU.
  • Trwa obsługa technologii WebGPU Three.js – zobacz przykłady.

Biblioteka Dawn w Chromium i biblioteka wgpu w przeglądarce Firefox są dostępne w pakiecie samodzielnym. Mają one świetną przenośność i ergonomiczne warstwy, które tworzą abstrakcyjne interfejsy API GPU w systemie operacyjnym. Używanie tych bibliotek w aplikacjach natywnych ułatwia przenoszenie ich do WASM przez Emscripten i Rust web-sys.

Zasoby

WebGPU to ważna technologia, dlatego zalecamy skorzystanie z tych materiałów, aby dowiedzieć się więcej: