Что нового в 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() . См. номер проблемы: 1892 . Например:

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

Обновления Dawn

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

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

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

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

Что нового в WebGPU

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

Хром 140

Хром 139

Хром 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