WebGPU to interfejs API do grafiki internetowej, który zapewnia wiele korzyści, np. znacznie zmniejsza obciążenie JavaScriptem przy tej samej grafice i ponat trzykrotnie poprawia wnioskowanie w modelach systemów uczących się. Jest to możliwe dzięki elastycznemu programowaniu GPU i dostępowi do zaawansowanych funkcji, których nie oferuje WebGL.
Interfejs API został zaprojektowany z myślą o platformie internetowej. Zawiera on idiomatyczny interfejs JavaScript API, integrację z obietnicami, obsługę importowania filmów oraz ulepszoną obsługę deweloperów z jasnymi komunikatami o błędach.
WebGPU to efekt współpracy grupy społecznościowej W3C „GPU for the Web”, w której uczestniczą m.in. duże firmy, takie jak Mozilla, Apple, Intel i Microsoft.
Obsługa przeglądarek
Ta pierwsza wersja WebGPU została udostępniona w Chrome 113 na urządzeniach z ChromeOS z obsługą Vulkana, urządzeniach z systemem Windows z obsługą Direct3D 12 oraz na macOS. Wkrótce udostępnimy obsługę Linuksa, Androida i dotychczasowych platform.
WebGPU jest obecnie w trakcie implementacji w Firefox i Safari, a także w pierwszej wersji w Chrome.
Pomoc dotycząca biblioteki
Wiele powszechnie używanych bibliotek WebGL jest już w trakcie implementowania obsługi WebGPU lub już ją obsługuje. Oznacza to, że korzystanie z WebGPU może wymagać zmiany tylko jednego wiersza.
- Babylon.js obsługuje WebGPU w pełni.
- Firma PlayCanvas ogłosiła początkową obsługę WebGPU.
- TensorFlow.js obsługuje wersje większości operatorów zoptymalizowane pod kątem WebGPU.
- Three.js obsługuje WebGPU (w trakcie tworzenia – zobacz przykłady).
Zarówno biblioteka Dawn dla Chromium, jak i biblioteka wgpu dla Firefoxa są dostępne jako samodzielne pakiety. Zapewniają one dużą przenośność i ergonomiczne warstwy, które abstrahują interfejsy API procesora graficznego systemu operacyjnego. Korzystanie z tych bibliotek w natywności ułatwia przenoszenie na WASM za pomocą Emscripten i Rust web-sys.
Zasoby
WebGPU to ważna technologia. Aby dowiedzieć się więcej, zapoznaj się z tymi materiałami:
- Zapoznaj się ze specyfikacjami W3C dotyczącymi WebGPU i WGSL.
- Eksperymentuj z próbkami i poznaj WGSL za pomocą prezentacji.
- Zapoznaj się z dokumentacją MDN.
- Zapoznaj się z oficjalnym materiałem i sprawdzonymi metodami.
- Dowiedz się więcej o procesorach graficznych i innych tematach.