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

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

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

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

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

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

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

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

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

Обновления WGSL

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

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

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

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

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

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

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

Что нового в WebGPU

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

Хром 138

Хром 137

Хром 136

Хром 135

Хром 134

Хром 133

Хром 132

Хром 131

Хром 130

Хром 129

Хром 128

Хром 127

Хром 126

Хром 125

Хром 124

Хром 123

Хром 122

Хром 121

Хром 120

Хром 119

Хром 118

Хром 117

Хром 116

Хром 115

Хром 114

Хром 113