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łącz funkcję

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 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