Novidades da WebGPU (Chrome 114)

François Beaufort
François Beaufort

Otimizar o JavaScript

Os colaboradores do Chromium aceleraram o desempenho da WebGPU para os métodos GPUComputePassEncoder, GPURenderPassEncoder e GPUCommandEncoder, reduzindo a sobrecarga de fazer chamadas do código gerado no mecanismo JavaScript V8 para gerenciadores C++ no mecanismo de renderização Blink. Consulte o problema chromium:1417558.

A microcomparação a seguir mostra o tempo de CPU de chamadas do JavaScript diminuindo de cerca de 0,5 ms por 10 mil desenhos para cerca de 0,3 ms a cada 10 mil desenhos, o que é uma melhoria de 40%.

Captura de tela do gráfico de comparação do navegador Chrome mostrando melhorias nas ligações rápidas.
Gráfico de comparativo de mercado do Chrome mostrando melhorias nas chamadas rápidas (fonte).

getCurrentTexture() em uma tela não configurada gera InvalidStateError.

Chamar o método getCurrentTexture() GPUCanvasContext em uma tela não configurada agora gera InvalidStateError em vez de OperationError, de acordo com a especificação WebGPU. Consulte o problema chromium:1424461.

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

Atualizações da WGSL

Vetores com preenchimento zero de AbstractInt agora podem ser escritos como vec2(), vec3() e vec4(). Consulte tom do problema:1892. Exemplo:

  • vec2() é vec2(0,0)
  • vec3() é vec3(0,0,0)
  • vec4() é vec4(0,0,0,0)

Atualizações ao amanhecer

Como melhorar as mensagens de erro

Os marcadores de descritor para objetos inválidos não estão mais sendo descartados para que possam ser vistos em mensagens de erro. Consulte problema dawn:1771.

Adicionar APIs ausentes para Node.js

Os métodos GPUAdapter::requestAdapterInfo() e GPUBuffer::getMapState() agora estão implementados para Node.js. Consulte problema dawn:1761.

Novidades da WebGPU

Uma lista de tudo o que foi abordado na série O que há de novo na WebGPU.

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Google Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Google Chrome 113