Po latach programowania zespół Chrome ogłasza, że pierwsza wersja WebGPU jest teraz domyślnie dostępna w Chrome na ChromeOS, macOS i Windows. Aby dowiedzieć się więcej, zajrzyj na stronę Chrome ships WebGPU.
Zaczęliśmy też dodawać obszerną dokumentację WebGPU w MDN.
i nie tylko.
Użyj źródła VideoFrame
WebCodecs w domenie importExternalTexture()
WebGPU udostępnia interfejs API do tworzenia nieprzezroczystych obiektów „zewnętrznej tekstury” od HTMLVideoElement
do importExternalTexture()
. Możesz użyć tych obiektów do efektywnego próbkowania klatek wideo, potencjalnie również bez kopiowania bezpośrednio ze źródłowych danych YUV.
Początkowa specyfikacja WebGPU nie zezwala jednak na tworzenie obiektów GPUExternalTexture
z obiektów WebCodecs VideoFrame
. Ta możliwość jest istotna w przypadku zaawansowanych aplikacji do przetwarzania wideo, które korzystają już z WebCodecs i chcą zintegrować WebGPU z procesem przetwarzania wideo. Obecnie trwa dyskusja na temat problemu gpuweb/gpuweb#1380.
Włącz tę funkcję
Domyślnie ta funkcja nie jest włączona w Chrome, ale w Chrome 113 można ją przetestować bezpośrednio po jej włączeniu. Możesz ją aktywować lokalnie, włączając flagę „Funkcje dla programistów WebGPU” na stronie chrome://flags/#enable-webgpu-developer-features
.
Aby umożliwić dostęp do wszystkich użytkowników aplikacji, trwa okres próbny źródła. Zakończy się on w Chrome 118 (8 grudnia 2023 r.). Aby skorzystać z okresu próbnego, zarejestruj się i w nagłówku HTML lub HTTP umieść metatag z tokenem próbnym origin. Więcej informacji znajdziesz w poście Pierwsze kroki z testami origin.
Przykładowy kod
// Access the GPU device.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
// Create VideoFrame from HTMLVideoElement.
const video = document.querySelector("video");
const videoFrame = new VideoFrame(video);
const texture = device.importExternalTexture({ source: videoFrame });
// TODO: Use texture in bind group creation.
Zapoznaj się z eksperymentalnym przykładem funkcji Przesyłanie filmów przy użyciu WebCodecs.
Co nowego w WebGPU
Lista wszystkich zagadnień omówionych w serii Co nowego w WebGPU.
Chrome 125
Chrome 124
- Tekstury pamięci masowej tylko do odczytu i do odczytu i zapisu
- Skrypty service worker i współdzielone zasoby robocze – pomoc
- Nowe atrybuty informacji o adapterze
- Poprawki błędów
- Informacje o Dawn
Chrome 123
- Obsługa wbudowanych funkcji DP4a w języku WGSL
- Nieograniczone parametry wskaźnika w WGSL
- Cukier składniowy do usuwania linków do kompozytów w WGSL
- Oddzielny stan tylko do odczytu dla aspektów szablonu i głębi
- Informacje o Dawn
Chrome 122
- Rozszerzanie zasięgu dzięki trybowi zgodności (funkcja w fazie opracowywania)
- Zwiększ limit maxVertexAttributes
- Informacje o Dawn
Chrome 121
- Obsługa WebGPU na urządzeniach z Androidem
- Do kompilacji programu do cieniowania w systemie Windows użyj DXC zamiast FXC
- Zapytania o sygnaturę czasową podczas obliczeń obliczeniowych i renderowania
- Domyślne punkty wejścia do modułów cieniowania
- Obsługuj parametr display-p3 jako przestrzeń kolorów GPUExternalTexture
- Informacje o sterach pamięci
- Informacje o Dawn
Chrome 120
- Obsługa 16-bitowych wartości zmiennoprzecinkowych w języku WGSL
- Przekrocz granice
- Zmiany stanu szablonu głębi
- Aktualizacje informacji o adapterze
- Kwantyzowanie zapytań dotyczących sygnatury czasowej
- Funkcje Wiosenne porządki
Chrome 119
- Filtrowanie 32-bitowych tekstur pływających
- formacie wierzchołków unorm10-10-10-2
- Format tekstury rgb10a2uint
- Informacje o Dawn
Chrome 118
- Obsługa formatów HTMLImageElement i ImageData w interfejsie
copyExternalImageToTexture()
- Eksperymentalna obsługa tekstur pamięci masowej tylko do odczytu i zapisu oraz tylko do odczytu
- Informacje o Dawn
Chrome 117
- Nieustawiony bufor wierzchołków
- Cofnij ustawienie grupy powiązań
- Wyciszanie błędów podczas tworzenia potoku asynchronicznego w przypadku utraty urządzenia
- Aktualizacje dotyczące tworzenia modułu cieniowania SPIR-V
- Poprawianie wrażeń deweloperów
- Potoki w pamięci podręcznej z układem generowanym automatycznie
- Informacje o Dawn
Chrome 116
- Integracja z WebCodecs
- Zgubione urządzenie zwrócone przez GPUAdapter
requestDevice()
- Zapewniaj płynne odtwarzanie filmu, jeśli zostanie wywołany element
importExternalTexture()
- Zgodność ze specyfikacją
- Poprawianie wrażeń deweloperów
- Informacje o Dawn
Chrome 115
- Obsługiwane rozszerzenia języka WGSL
- Eksperymentalna obsługa Direct3D 11
- Domyślnie korzystaj z dyskretnego GPU na zasilaniu sieciowym
- Poprawianie wrażeń deweloperów
- Informacje o Dawn
Chrome 114
- Optymalizacja JavaScriptu
- Funkcja getCurrentTexture() w nieskonfigurowanym obszarze roboczym zgłasza nieprawidłową wartość błędu
- Aktualizacje WGSL
- Informacje o Dawn