Wat is er nieuw in WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optimaliseer JavaScript

Bijdragers aan Chromium 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-renderingengine. Zie issue chromium:1417558 .

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

Screenshot van een benchmarkgrafiek van de Chrome-browser die de verbeteringen in snelle gesprekken laat zien.
Chrome-benchmarkgrafiek die verbeteringen in snelle gesprekken laat zien ( bron ).

getCurrentTexture() op een niet-geconfigureerd canvas geeft een InvalidStateError.

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

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

WGSL-updates

Nulgevulde 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

Verbetering van foutmeldingen

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

Voeg ontbrekende API's toe voor Node.js

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 van alles wat in de serie ' Wat is nieuw in WebGPU' aan bod is gekomen.

Chrome 144

Chrome 143

Chrome 142

Chrome 141

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