Что нового в WebGPU (Chrome 114), Что нового в WebGPU (Chrome 114)

Франсуа Бофор
François Beaufort

Оптимизировать JavaScript

Участники Chromium увеличили производительность WebGPU для методов GPUComputePassEncoder , GPURenderPassEncoder и GPUCommandEncoder за счет сокращения накладных расходов на выполнение вызовов из сгенерированного кода в движке JavaScript V8 в обработчики C++ в движке рендеринга Blink. См. выпуск chromium:1417558 .

Следующий микротест показывает, что время ЦП вызовов из JavaScript снижается примерно с 0,5 мс на отрисовку 10 КБ до примерно 0,3 мс на отрисовку 10 КБ, что представляет собой улучшение на 40%.

Снимок экрана: график производительности браузера Chrome, показывающий улучшение скорости вызовов.
График производительности Chrome, показывающий улучшения в быстрых вызовах ( источник ).

getCurrentTexture() на ненастроенном холсте выдает InvalidStateError

Вызов метода GPUCanvasContext getCurrentTexture() на ненастроенном холсте теперь выдает InvalidStateError вместо OperationError в соответствии со спецификацией WebGPU . См. выпуск chromium:1424461 .

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

Обновления WGSL

Векторы AbstractInt , заполненные нулями, теперь можно записать как vec2() , vec3() и vec4() . См . выпуск оттенка:1892 . Например:

  • vec2() — это vec2(0,0)
  • vec3() — это vec3(0,0,0)
  • vec4() — это vec4(0,0,0,0)

Обновления рассвета

Улучшение сообщений об ошибках

Метки дескрипторов недопустимых объектов больше не удаляются, чтобы вы могли видеть их в сообщениях об ошибках. См. выпуск Dawn:1771 .

Добавьте недостающие API для Node.js

Методы GPUAdapter::requestAdapterInfo() и GPUBuffer::getMapState() теперь реализованы для Node.js. См. выпуск Dawn:1761 .

Что нового в WebGPU

Список всего, что было описано в серии «Что нового в WebGPU» .

Хром 131

Хром 130

Хром 129

Хром 128

Хром 127

Хром 126

Хром 125

Хром 124

Хром 123

Хром 122

Хром 121

Хром 120

Хром 119

Хром 118

Хром 117

Хром 116

Хром 115

Хром 114

Хром 113