Omówienie WebGPU

François Beaufort
François Beaufort

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.

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ą EmscriptenRust web-sys.

Zasoby

WebGPU to ważna technologia. Więcej informacji znajdziesz w tych materiałach: