Wat is er nieuw in WebGPU (Chrome 114)

François Beaufort
François Beaufort

JavaScript optimaliseren

Chromium-medewerkers hebben de WebGPU-prestaties voor de methoden GPUComputePassEncoder , GPURenderPassEncoder en GPUCommandEncoder versneld door de overhead te verminderen van het aanroepen van gegenereerde code in de V8 JavaScript-engine naar C++-handlers in de Blink-renderengine. Zie probleem chromium:1417558 .

De volgende microbenchmark laat zien dat de CPU-tijd van aanroepen vanuit JavaScript afnam van ongeveer 0,5 ms per 10.000 trekkingen naar ongeveer 0,3 ms per 10.000 trekkingen. Dat is een verbetering van 40%.

Schermafbeelding van een benchmarkgrafiek voor de Chrome-browser waarin de verbeteringen in snelle gesprekken worden weergegeven.
Benchmarkgrafiek van Chrome die verbeteringen in snelle gesprekken laat zien ( bron ).

getCurrentTexture() op een niet-geconfigureerd canvas genereert InvalidStateError

Het aanroepen GPUCanvasContext getCurrentTexture() -methode op een niet-geconfigureerd canvas genereert nu InvalidStateError in plaats van OperationError , conform de WebGPU-specificatie . Zie probleem chromium:1424461 .

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

WGSL-updates

Nul-gevulde vectoren van AbstractInt kunnen nu worden geschreven als vec2() , vec3() en vec4() . Zie issue tint:1892 . Bijvoorbeeld:

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

Dawn-updates

Foutmeldingen verbeteren

Descriptorlabels voor ongeldige objecten worden niet meer verwijderd, zodat u ze in foutmeldingen kunt zien. Zie issue dawn:1771 .

Ontbrekende API's voor Node.js toevoegen

De methoden GPUAdapter::requestAdapterInfo() en GPUBuffer::getMapState() zijn nu geïmplementeerd voor Node.js. Zie issue dawn:1761 .

Wat is er nieuw in WebGPU

Een lijst met alles wat in de serie Wat is er nieuw in WebGPU is behandeld.

Chroom 138

Chroom 137

Chroom 136

Chroom 135

Chroom 134

Chroom 133

Chroom 132

Chroom 131

Chroom 130

Chroom 129

Chroom 128

Chroom 127

Chroom 126

Chroom 125

Chroom 124

Chroom 123

Chroom 122

Chroom 121

Chroom 120

Chroom 119

Chroom 118

Chroom 117

Chroom 116

Chroom 115

Chroom 114

Chroom 113