Nieuw in WebGPU (Chrome 114)

François Beaufort
François Beaufort

JavaScript optimaliseren

Chromium-bijdragers hebben de WebGPU-prestaties voor de methoden GPUComputePassEncoder, GPURenderPassEncoder en GPUCommandEncoder versneld door de overhead te verminderen van aanroepen vanuit gegenereerde code in de V8 JavaScript-engine naar C++-handlers in de Blink-rendering-engine. Ga naar issue chromium:1417558.

De volgende microbenchmark toont dat de CPU-tijd van aanroepen vanuit JavaScript afneemt van ongeveer 0,5 ms per 10.000 tekeningen tot ongeveer 0,3 ms per 10.000 tekeningen. Dit is een verbetering van 40%.

Screenshot van een benchmarkdiagram van de Chrome-browser met verbeteringen voor snelle aanroepen.
Chrome-benchmarkdiagram met verbeteringen voor snelle aanroepen (bron).

getCurrentTexture() op niet-ingesteld canvas activeert InvalidStateError

Als je de methode GPUCanvasContext getCurrentTexture() aanroept voor een niet-geconfigureerd canvas, wordt nu InvalidStateError gegenereerd in plaats van OperationError, volgens de WebGPU-specificatie. Zie issue chromium:1424461.

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

WGSL-updates

Met nullen gevulde vectoren van AbstractInt kunnen nu worden geschreven als vec2(), vec3() en vec4(). Ga naar issue tint:1892. Voorbeeld:

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

Updates voor Dawn

Foutmeldingen verbeteren

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

Ontbrekende API's voor Node.js toevoegen

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

Wat is er nieuw in WebGPU?

Een lijst met alles wat is behandeld in de serie Nieuw in WebGPU.

Chrome 155-156

Chrome 153-154

Chrome 151-152

Chrome 149-150

Chrome 147-148

Chrome 146

Chrome 145

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