Neu bei WebGPU (Chrome 114)

François Beaufort
François Beaufort

JavaScript optimieren

Chromium beschleunigte die Leistung der WebGPU für GPUComputePassEncoder-, GPURenderPassEncoder- und GPUCommandEncoder-Methoden, indem der Aufwand für Aufrufe von generierten Code in der V8-JavaScript-Engine an C++-Handler in der Blink-Rendering-Engine reduziert wurde. Siehe issue chromium:1417558.

Die folgende MikroBenchmark zeigt, dass die CPU-Zeit von JavaScript-Aufrufen von etwa 0,5 ms pro 10.000 Aufrufen auf etwa 0,3 ms pro 10.000 Aufrufen gesunken ist. Das entspricht einer Verbesserung von 40 %.

<ph type="x-smartling-placeholder">
</ph> Screenshot des Chrome-Benchmark-Diagramms mit Verbesserungen für schnelle Anrufe <ph type="x-smartling-placeholder">
</ph> Chrome-Benchmark-Diagramm mit Verbesserungen bei schnellen Anrufen (Quelle).

getCurrentTexture() gibt bei nicht konfiguriertem Canvas "Ungültiger Statusfehler" aus

Wenn die Methode GPUCanvasContext getCurrentTexture() auf einem nicht konfigurierten Canvas aufgerufen wird, wird gemäß der WebGPU-Spezifikation jetzt InvalidStateError anstelle von OperationError ausgelöst. Siehe issue chromium:1424461.

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

WGSL-Updates

Nullgefü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)

Updates zur Morgendämmerung

Fehlermeldungen verbessern

Deskriptorlabels für ungültige Objekte werden nicht mehr gelöscht, sodass Sie sie in Fehlermeldungen sehen können. Siehe issue 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 issue dawn:1761.

Das ist neu bei WebGPU

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

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