Novità di WebGPU (Chrome 114)

François Beaufort
François Beaufort

Ottimizza JavaScript

I collaboratori di Chromium hanno migliorato le prestazioni di WebGPU per i metodi GPUComputePassEncoder, GPURenderPassEncoder e GPUCommandEncoder riducendo il sovraccarico delle chiamate dal codice generato nel motore JavaScript V8 agli handler C++ nel motore di rendering Blink. Vedi issue chromium:1417558.

Il seguente microbenchmark mostra che il tempo della CPU delle chiamate da JavaScript è diminuito da circa 0,5 ms per 10.000 estrazioni a circa 0,3 ms per 10.000 estrazioni, ovvero un miglioramento del 40%.

Screenshot del grafico del benchmark del browser Chrome che mostra i miglioramenti delle chiamate rapide.
Grafico del benchmark di Chrome che mostra i miglioramenti delle chiamate rapide (fonte).

getCurrentTexture() su una tela non configurata genera un errore InvalidStateError

L'uso del metodo GPUCanvasContext getCurrentTexture() su una tela non configurata ora genera un errore InvalidStateError anziché OperationError in base alla specifica WebGPU. Consulta il problema chromium:1424461.

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

Aggiornamenti WGSL

I vettori con zeri di AbstractInt ora possono essere scritti come vec2(), vec3() e vec4(). Vedi issue tint:1892. Ad esempio:

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

Aggiornamenti di Dawn

Miglioramento dei messaggi di errore

Le etichette dei descrittori per gli oggetti non validi non vengono più eliminate, quindi puoi visualizzarle nei messaggi di errore. Vedi issue dawn:1771.

Aggiungere le API mancanti per Node.js

I metodi GPUAdapter::requestAdapterInfo() e GPUBuffer::getMapState() sono ora implementati per Node.js. Vedi issue dawn:1761.

Novità di WebGPU

Un elenco di tutto ciò che è stato trattato nella serie Novità di WebGPU.

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