Neu bei WebGPU (Chrome 114)

François Beaufort
François Beaufort

JavaScript optimieren

Chromium-Entwickler haben die WebGPU-Leistung für die Methoden GPUComputePassEncoder, GPURenderPassEncoder und GPUCommandEncoder beschleunigt, indem sie den Overhead bei Aufrufen von generiertem Code in der V8-JavaScript-Engine an C++-Handler in der Blink-Rendering-Engine reduziert haben. Siehe issue chromium:1417558.

Der folgende Mikrobenchmark zeigt, dass die CPU-Zeit von Aufrufen aus JavaScript von etwa 0,5 ms pro 10.000 Zeichnungen auf etwa 0,3 ms pro 10.000 Zeichnungen gesunken ist, was einer Verbesserung von 40% entspricht.

Screenshot der Benchmark-Grafik des Chrome-Browsers mit Verbesserungen bei schnellen Aufrufen
Chrome-Benchmark-Diagramm mit Verbesserungen bei schnellen Aufrufen (Quelle).

getCurrentTexture() auf nicht konfiguriertem Canvas löst InvalidStateError aus

Beim Aufrufen der getCurrentTexture()-Methode GPUCanvasContext auf einem nicht konfigurierten Canvas wird gemäß der WebGPU-Spezifikation jetzt InvalidStateError statt OperationError ausgelöst. Siehe Problem chromium:1424461.

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

WGSL-Updates

Null-gefüllte Vektoren von AbstractInt können jetzt als vec2(), vec3() und vec4() geschrieben werden. Siehe issue tint:1892. Beispiel:

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

Dawn-Updates

Fehlermeldungen verbessern

Deskriptorlabels für ungültige Objekte werden nicht mehr gelöscht, sodass Sie sie in Fehlermeldungen sehen können. Siehe Problem dawn:1771.

Fehlende APIs für Node.js hinzufügen

Die Methoden GPUAdapter::requestAdapterInfo() und GPUBuffer::getMapState() sind jetzt für Node.js implementiert. Siehe Problem dawn:1761.

Das ist neu bei WebGPU

Eine Liste aller behandelten Themen der Reihe What's New in WebGPU.

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