Wat is er nieuw in WebGPU (Chrome 113)

François Beaufort
François Beaufort

Na jaren van ontwikkeling kondigt het Chrome-team aan dat de eerste release van WebGPU nu standaard beschikbaar is in Chrome op ChromeOS, macOS en Windows. Bekijk Chrome Ships WebGPU voor meer informatie.

We zijn ook begonnen met het toevoegen van uitgebreide documentatie voor WebGPU op MDN.

En er is meer.

Gebruik WebCodecs VideoFrame bron in importExternalTexture()

WebGPU stelt een API ter beschikking om ondoorzichtige "externe textuur"-objecten van HTMLVideoElement te maken via importExternalTexture() . U kunt deze objecten gebruiken om de videoframes efficiënt te bemonsteren, mogelijk op een manier zonder kopieën rechtstreeks uit de bron-YUV-gegevens.

De initiële WebGPU-specificatie staat het maken van GPUExternalTexture objecten uit WebCodecs VideoFrame objecten echter niet toe. Deze mogelijkheid is belangrijk voor geavanceerde videoverwerkingsapps die al WebCodecs gebruiken en WebGPU willen integreren in de videoverwerkingspijplijn. Momenteel wordt er gediscussieerd over de kwestie gpuweb/gpuweb#1380 .

Schakel de functie in

Standaard is deze functie niet ingeschakeld in Chrome, maar er kan mee worden geëxperimenteerd in Chrome 113 door de functionaliteit expliciet in te schakelen. U kunt het lokaal activeren door de vlag "WebGPU Developer Features" in te schakelen op chrome://flags/#enable-webgpu-developer-features .

Om dit voor alle bezoekers van uw app mogelijk te maken, loopt er momenteel een origin-proefperiode die eindigt in Chrome 118 (8 december 2023). Om deel te nemen aan de proefperiode dient u zich aan te melden en een meta-element met het oorspronkelijke proeftoken in de HTML- of HTTP-header op te nemen. Raadpleeg voor meer informatie het bericht Aan de slag met origin-proefversies .

Voorbeeldcode

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

Bekijk het experimentele voorbeeld Video Uploaden met WebCodecs om ermee te spelen.

Wat is er nieuw in WebGPU

Een lijst met alles wat aan bod komt in de What's New in WebGPU- serie.

Chroom 124

Chroom 123

Chroom 122

Chroom 121

Chroom 120

Chroom 119

Chroom 118

Chroom 117

Chroom 116

Chroom 115

Chroom 114

Chroom 113