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:
- Sprawdź specyfikację W3C dla WebGPU i WGSL.
- Eksperymentuj z przykładami i poznawaj język WGSL podczas prezentacji.
- Zapoznaj się z dokumentacją MDN.
- Zapoznaj się z oficjalnym wyjaśnieniem i sprawdzonymi metodami.
- Dowiedz się więcej o procesorach obliczeniowych GPU i innych informacjach.