Po latach programowania zespół Chrome udostępnia technologię WebGPU, która umożliwia stosowanie wysokiej wydajności grafiki 3D i równoległych obliczeń w internecie.
Zespół Chrome z przyjemnością informuje, że interfejs WebGPU jest teraz domyślnie dostępny w Chrome 113, który jest obecnie dostępny w wersji beta. WebGPU to nowy 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 ulepszenie wnioskowania z modeli systemów uczących się. Jest to możliwe dzięki bardziej elastycznym programowaniu GPU i dostępowi do zaawansowanych funkcji, których WebGL nie zapewnia.
Ta wstępna wersja WebGPU jest dostępna w systemach ChromeOS, macOS i Windows. Obsługa innych platform zostanie udostępniona w tym roku.
Nowa era grafiki internetowej
WebGPU to nowy interfejs API dla internetu, który ujawnia nowoczesne możliwości sprzętowe i umożliwia wykonywanie operacji renderowania oraz przetwarzania na GPU, podobnie jak w przypadku Direct3D 12, Metal i Vulkan. W przeciwieństwie do interfejsów API WebGL WebGPU zapewnia dostęp do bardziej zaawansowanych funkcji GPU i pierwszorzędną obsługę ogólnych obliczeń na GPU. Interfejs API został zaprojektowany z myślą o platformie internetowej. Zawiera idiomatyczny interfejs API JavaScript, integrację z obietnicami, obsługę importowania filmów i dopracowane środowisko programistyczne ze świetnymi komunikatami o błędach.
Ta wstępna wersja WebGPU stanowi podstawę przyszłych aktualizacji i ulepszeń. Udostępnia on bardziej zaawansowane funkcje graficzne, a deweloperów zachęcamy do wysyłania próśb o dostęp do dodatkowych funkcji. Zespół Chrome zamierza też zapewnić głębszy dostęp do rdzeni cieniowania w celu jeszcze większej optymalizacji systemów uczących się i dodatkowej ergonomii w języku WGSL, czyli WebGPU Shading Language.
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. Po 6 latach prac nad projektem (90 współtwórców, 2000 zgłoszeń, 3000 numerów) od momentu jego projektowania w 2017 roku pierwsza implementacja jest już dostępna w Chrome i jest obecnie obsługiwana w przeglądarkach Firefox i Safari.
Biblioteka Dawn w Chromium i biblioteka wgpu w przeglądarce Firefox są dostępne jako samodzielne pakiety. Oferują one wyjątkową przenośność i ergonomiczne warstwy, które tworzą abstrakcyjne interfejsy API GPU w systemie operacyjnym. Używanie tych bibliotek w aplikacjach natywnych ułatwia też przenoszenie ich do WASM przez Emscripten i Rust web-sys.
Obsługiwane przeglądarki
Ta wstępna wersja WebGPU jest dostępna 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. Wkrótce udostępnimy obsługę Linuksa i Androida oraz rozszerzoną obsługę dotychczasowych platform.
WebGPU jest obecnie w trakcie opracowywania jako uzupełnienie początkowej implementacji w Chrome w Firefoksie i Safari.
Wsparcie dla biblioteki
Wiele szeroko używanych bibliotek WebGL jest już w trakcie wdrażania obsługi WebGPU lub już to zrobili. Oznacza to, że korzystanie z WebGPU może wymagać wprowadzenia tylko jednej zmiany w wierszu:
- Biblioteka Babylon.js ma już 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.
- Three.js obsługuje technologię WebGPU (zobacz przykłady).
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.
Poświadczenia
Dziękujemy wszystkim współtwórcom Chromium, a zwłaszcza użytkownikom Intela za nieocenioną pomoc w realizacji tego celu.