Co nowego w WebGPU (Chrome 113)

François Beaufort
François Beaufort

Po latach programowania zespół Chrome informuje, że pierwsza wersja WebGPU jest teraz domyślnie dostępna w Chrome na urządzeniach z ChromeOS, macOS i Windows. Więcej informacji znajdziesz w artykule Chrome wysyła WebGPU.

Zaczęliśmy też dodawać obszerną dokumentację dla WebGPU w MDN.

A to nie wszystko.

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

WebGPU udostępnia interfejs API do utworzenia nieprzejrzystej „tekstury zewnętrznej” obiekty od HTMLVideoElement do importExternalTexture(). Za pomocą tych obiektów możesz skutecznie próbkować klatki filmu, nawet w formie 0 kopii bezpośrednio ze źródłowych danych o YUV.

Pierwsza specyfikacja WebGPU nie pozwala jednak na tworzenie obiektów GPUExternalTexture z obiektów WebCodecs VideoFrame. Ta możliwość jest ważna w przypadku zaawansowanych aplikacji do przetwarzania wideo, które korzystają już z kodeków internetowych i chcą zintegrować WebGPU z potokiem przetwarzania wideo. Obecnie toczy się dyskusja na temat problemu gpuweb/gpuweb#1380.

Włączanie funkcji

Domyślnie ta funkcja jest wyłączona w Chrome, ale możesz ją wypróbować w Chrome 113, jednoznacznie ją włączając. Możesz go aktywować lokalnie, włączając „Funkcje dla programistów WebGPU”. flag na chrome://flags/#enable-webgpu-developer-features.

Aby umożliwić tę funkcję wszystkim użytkownikom Twojej aplikacji, trwa okres próbny origin, który ma się zakończyć w Chrome 118 (8 grudnia 2023 r.). Aby skorzystać z wersji próbnej, zarejestruj się i dodaj element meta z tokenem testowania origin w nagłówku HTML lub HTTP. 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.

Wypróbuj eksperymentalną próbkę przesyłania filmów przy użyciu WebCodecs.

Co nowego w WebGPU

Lista wszystkiego, co zostało omówione w serii Co nowego w WebGPU.

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