Co nowego w WebGPU (Chrome 113)

François Beaufort
François Beaufort

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 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113