Что нового в WebGPU (Chrome 113)

François Beaufort
François Beaufort

Команда Chrome объявляет, что первая версия WebGPU теперь доступна по умолчанию в Chrome на устройствах с ChromeOS, macOS и Windows. Подробнее о WebGPU в Chrome можно узнать в блоге Chromium.

Кроме того, мы начали добавлять на MDN подробную документацию по WebGPU.

И это ещё не все преимущества.

Использовать источник WebCodecs VideoFrame в importExternalTexture()

WebGPU предоставляет API для создания непрозрачных объектов "внешней текстуры" из HTMLVideoElement через importExternalTexture(). Эти объекты можно использовать для эффективного сэмплирования кадров видео, возможно, без копирования непосредственно из исходных данных YUV.

Однако в исходной спецификации WebGPU не разрешено создавать объекты GPUExternalTexture из объектов WebCodecs VideoFrame. Эта возможность важна для приложений, которые уже используют WebCodecs для обработки видео и хотят интегрировать WebGPU в конвейер обработки видео. Обсуждение ведется в gpuweb/gpuweb#1380.

Как включить функцию

По умолчанию эта функция в Chrome отключена, но в Chrome 113 ее можно включить вручную. Вы можете активировать ее локально, включив экспериментальный параметр "Функции разработчика WebGPU" на странице chrome://flags/#enable-webgpu-developer-features.

Чтобы включить его для всех посетителей вашего приложения, сейчас проводится эксперимент с источником, который должен завершиться в Chrome 118 (8 декабря 2023 г.). Чтобы принять участие в эксперименте с источником, зарегистрируйтесь и добавьте метаэлемент с токеном эксперимента с источником в HTML-код или HTTP-заголовок. Подробнее о пробных версиях…

Образец кода

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

Попробуйте экспериментальный образец загрузки видео с помощью WebCodecs.

Что нового в WebGPU

Список всех тем, которые были рассмотрены в серии статей Что нового в WebGPU.

Chrome 155–156

Chrome 153–154

Chrome 151–152

Chrome 149–150

Chrome 147–148

Chrome 146

Chrome 145

Chrome 144

Chrome 143

Chrome 142

Chrome 141

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

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