Novità di WebGPU (Chrome 114)

François Beaufort
François Beaufort

Ottimizzare JavaScript

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

Il seguente microbenchmark mostra che il tempo della CPU delle chiamate da JavaScript diminuisce da circa 0,5 ms per 10.000 disegni a circa 0,3 ms per 10.000 disegni, con 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 canvas non configurato genera InvalidStateError

La chiamata al metodo GPUCanvasContext getCurrentTexture() su un canvas non configurato ora genera InvalidStateError anziché OperationError in base alla specifica WebGPU. Vedi issue chromium:1424461.

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

Aggiornamenti WGSL

I vettori riempiti 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 all'alba

Miglioramento dei messaggi di errore

Le etichette descrittive per gli oggetti non validi non vengono più eliminate, in modo che tu possa visualizzarle nei messaggi di errore. Vedi issue dawn:1771.

Aggiungi 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 tutti gli argomenti trattati nella serie Novità di WebGPU.

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

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