Wat is er nieuw in WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optimaliseer JavaScript

Chromium-bijdragers versnelden de WebGPU-prestaties voor de methoden GPUComputePassEncoder , GPURenderPassEncoder en GPUCommandEncoder door de overhead van het aanroepen van gegenereerde code in de V8 JavaScript-engine naar C++-handlers in de Blink-rendering-engine te verminderen. Zie uitgave chroom:1417558 .

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

Schermafbeelding van de benchmarkgrafiek van de Chrome-browser, waarin verbeteringen voor snelle oproepen worden weergegeven.
Chrome-benchmarkgrafiek met verbeteringen in snelle oproepen ( bron ).

getCurrentTexture() op een niet-geconfigureerd canvas genereert InvalidStateError

Het aanroepen van GPUCanvasContext getCurrentTexture() -methode op een niet-geconfigureerd canvas genereert nu InvalidStateError in plaats van OperationError volgens de WebGPU-specificatie . Zie uitgave chroom:1424461 .

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

WGSL-updates

Met nul gevulde vectoren van AbstractInt kunnen nu worden geschreven als vec2() , vec3() en vec4() . Zie uitgave 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 uitgave Dawn:1771 .

Voeg ontbrekende API's voor Node.js toe

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

Wat is er nieuw in WebGPU

Een lijst met alles wat aan bod komt in de What's New in WebGPU -serie.

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