Co nowego w WebGPU (Chrome 113)

François Beaufort
François Beaufort

Po kilku latach prac zespół Chrome informuje, że pierwsza wersja WebGPU jest teraz domyślnie dostępna w Chrome na ChromeOS, macOS i Windows. Aby dowiedzieć się więcej, zapoznaj się z artykułem Chrome udostępnia WebGPU.

Zaczęliśmy też dodawać do MDN kompleksową dokumentację WebGPU.

To nie wszystko.

Używanie źródła WebCodecs VideoFrame w importExternalTexture()

WebGPU udostępnia interfejs API do tworzenia nieprzezroczystych obiektów „tekstury zewnętrznej” od HTMLVideoElement do importExternalTexture(). Za pomocą tych obiektów możesz efektywnie próbkować klatki wideo, prawdopodobnie bez kopiowania bezpośrednio z danych źródłowych YUV.

Początkowa specyfikacja WebGPU nie pozwala jednak na tworzenie obiektów GPUExternalTexture z obiektów WebCodecs VideoFrame. Ta funkcja jest ważna dla zaawansowanych aplikacji do przetwarzania wideo, które korzystają już z WebCodecs i chcą zintegrować WebGPU w procesie przetwarzania wideo. Dyskusja trwa obecnie w temacie gpuweb/gpuweb#1380.

Włączanie funkcji

Domyślnie ta funkcja nie jest włączona w Chrome, ale możesz ją wypróbować w Chrome 113, jeśli ją wyraźnie włączysz. Możesz go aktywować lokalnie, włączając flagę „WebGPU Developer Features” w chrome://flags/#enable-webgpu-developer-features.

Aby umożliwić to wszystkim użytkownikom aplikacji, obecnie trwa próba wersji z uwzględnieniem pochodzenia, która zakończy się w Chrome 118 (8 grudnia 2023 r.). Aby wziąć udział w testach, zarejestruj się i uwzględnij element meta z tokenem wersji próbnej w źródle w kodzie HTML lub w nagłówku HTTP. Więcej informacji znajdziesz w artykule Pierwsze kroki z testami pochodzenia.

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 przykładem eksperymentalnego przesyłania filmów za pomocą WebCodecs.

Co nowego w WebGPU

Lista wszystkich tematów omawianych w cyklu Co nowego w WebGPU.

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113