Data publikacji: 20 lipca 2023 r., ostatnia aktualizacja: 11 sierpnia 2025 r.
WebGPU to internetowy interfejs API grafiki, który oferuje wiele korzyści, takich jak znaczne zmniejszenie obciążenia JavaScript w przypadku tej samej grafiki i ponad 3-krotne zwiększenie wydajności wnioskowania modeli uczenia maszynowego. Jest to możliwe dzięki elastycznemu programowaniu GPU i dostępowi do zaawansowanych funkcji, których WebGL nie udostępnia.
Interfejs API został zaprojektowany z myślą o platformie internetowej. Zawiera idiomatyczny interfejs JavaScript API, integrację z obietnicami, obsługę importowania filmów i dopracowane środowisko programistyczne z jasnymi komunikatami o błędach.
WebGPU to efekt współpracy grupy społecznościowej „GPU for the Web” W3C, w której skład wchodzą przedstawiciele największych firm, takich jak Mozilla, Apple, Intel i Microsoft.
Obsługa przeglądarek
Pierwsza wersja WebGPU została udostępniona w Chrome 113 na urządzeniach z ChromeOS obsługujących Vulkan, urządzeniach z systemem Windows obsługujących Direct3D 12 i urządzeniach z macOS. Obsługa Androida została później wprowadzona w Chrome 121 na urządzeniach z Androidem 12 i nowszym z procesorami graficznymi Qualcomm i ARM. Wkrótce udostępnimy obsługę systemu Linux i rozszerzoną obsługę obecnych platform.
WebGPU jest dostępny w Firefoxie 141 na Windowsie i Safari 26, a także w Chrome.
Najnowsze informacje o stanie implementacji WebGPU znajdziesz na stronie stanu implementacji gpuweb.
Obsługa biblioteki
Wiele powszechnie używanych bibliotek WebGL jest już w trakcie wdrażania obsługi WebGPU lub już to zrobiło. Oznacza to, że korzystanie z WebGPU może wymagać tylko zmiany jednego wiersza.
- Babylon.js w pełni obsługuje WebGPU.
- PlayCanvas ogłosił wstępną obsługę WebGPU.
- TensorFlow.js obsługuje zoptymalizowane pod kątem WebGPU wersje większości operatorów.
- Trwa wdrażanie obsługi WebGPU w Three.js. 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ą od interfejsów API GPU systemu operacyjnego. Używanie tych bibliotek w aplikacjach natywnych ułatwia przenoszenie ich do WASM za pomocą Emscripten i Rust web-sys.
Zasoby
WebGPU to ważna technologia. Więcej informacji znajdziesz w tych materiałach:
- Zapoznaj się ze specyfikacjami W3C dotyczącymi WebGPU i WGSL.
- Eksperymentuj z próbkami i poznaj WGSL dzięki przewodnikowi.
- Zapoznaj się z dokumentacją MDN.
- Zapoznaj się z oficjalnym wyjaśnieniem i sprawdzonymi metodami.
- Dowiedz się więcej o obliczeniach na GPU i innych tematach.