Chrome udostępnia technologię WebGPU

Po wielu latach prac zespół Chrome udostępnia WebGPU, który umożliwia korzystanie z wysokiej jakości grafiki 3D i przetwarzanie danych równolegle w internecie.

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

Zespół Chrome chętnie informuje, że WebGPU jest teraz domyślnie dostępne w Chrome 113, która jest obecnie dostępna w kanale beta. WebGPU to nowy interfejs API do grafiki internetowej, który zapewnia znaczne korzyści, takie jak znacznie zmniejszone obciążenie JavaScriptem przy tej samej grafice i ponad 3-krotne zwiększenie wydajności wnioskowania przez modele systemów uczących się. Jest to możliwe dzięki bardziej elastycznemu programowaniu GPU i dostępowi do zaawansowanych funkcji, których nie oferuje WebGL.

Ta pierwsza wersja WebGPU jest dostępna na ChromeOS, macOS i Windows. Obsługa innych platform pojawi się jeszcze w tym roku.

Nowa era grafiki internetowej

WebGPU to nowy interfejs API dla sieci, który udostępnia nowoczesne możliwości sprzętowe i umożliwia operacje renderowania i obliczania na karcie graficznej, podobnie jak w przypadku Direct3D 12, Metal i Vulkan. W przeciwieństwie do interfejsów API z rodziny WebGL interfejs WebGPU zapewnia dostęp do bardziej zaawansowanych funkcji GPU i najlepszą obsługę ogólnych obliczeń na GPU. 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 dodatkiem przydatnych komunikatów o błędach.

Ta wstępna wersja WebGPU stanowi element składowy przyszłych aktualizacji i ulepszeń. Interfejs API będzie oferować bardziej zaawansowane funkcje graficzne, a deweloperzy są zachęcani do przesyłania próśb o dodatkowe funkcje. Zespół Chrome planuje też zapewnić większy dostęp do rdzeni shaderów, aby jeszcze bardziej zoptymalizować systemy uczące się i zapewnić większą ergonomię w języku WGSL, czyli języku cieniowania WebGPU.

WebGPU to efekt współpracy grupy społecznościowej W3C „GPU for the Web”, która obejmuje wkład dużych firm takich jak Mozilla, Apple, Intel i Microsoft. Po 6 latach prac (90 współtwórców, 2000 commitów, 3000 problemów) od momentu opracowania projektu w 2017 r. pierwsza implementacja jest już dostępna w Chrome, a obsługa przeglądarek Firefox i Safari jest w toku.

Zarówno biblioteka Dawn dla Chromium, jak i biblioteka wgpu dla Firefoksa są dostępne jako samodzielne pakiety. Zapewniają one dużą przenośność i ergonomiczne warstwy, które abstrahują interfejsy API GPU systemu. Korzystanie z tych bibliotek w natywności ułatwia też przenoszenie kodu na WASM za pomocą EmscriptenRust web-sys.

Obsługa przeglądarek

Ta pierwsza wersja WebGPU jest dostępna w Chrome 113 na urządzeniach z ChromeOS z obsługą Vulkana, urządzeniach z Windows z obsługą Direct3D 12 oraz na macOS. Wkrótce udostępnimy obsługę Linuksa, Androida i dodatkowych platform.

WebGPU jest obecnie w trakcie implementacji w FirefoxSafari, 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ą wdrożyło. Oznacza to, że korzystanie z WebGPU może wymagać zmiany tylko jednego wiersza:

Zasoby

WebGPU to ważna technologia. Aby dowiedzieć się więcej, zapoznaj się z tymi materiałami:

Poświadczenia

Dziękujemy wszystkim autorom Chromium, a szczególnie zespołowi Intela za nieocenione wsparcie, dzięki któremu było to możliwe.