Novità di WebGPU (Chrome 114)

François Beaufort
François Beaufort

Ottimizza JavaScript

I collaboratori di Chromium hanno accelerato le prestazioni di WebGPU per i metodi GPUComputePassEncoder, GPURenderPassEncoder e GPUCommandEncoder riducendo l'overhead associato alle 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 di CPU delle chiamate da JavaScript diminuisce da circa 0,5 ms per 10.000 estrazioni a circa 0,3 ms per 10.000 estrazioni, con un miglioramento del 40%.

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

getCurrentTexture() su canvas non configurati genera InvalidStateError

La chiamata del metodo getCurrentTexture() GPUCanvasContext su un canvas non configurato ora genera InvalidStateError anziché OperationError in base alle specifiche WebGPU. Consulta il problema chromium:1424461.

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

Aggiornamenti di WGSL

I vettori con riempimento zero di AbstractInt ora possono essere scritti come vec2(), vec3() e vec4(). Vedi Tinta problema:1892. Ad esempio:

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

Aggiornamenti da Dawn

Miglioramento dei messaggi di errore

Le etichette dei descrittori degli oggetti non validi non vengono più eliminate in modo che tu possa vederle 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 124

Chrome 123

Chrome 122

Guida introduttiva di Chrome

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Versione 115 di Chrome

Chrome 114

Chrome 113