Co nowego w WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optymalizacja JavaScriptu

Współtwórcy Chromium przyspieszyli wydajność metod WebGPU w metodach GPUComputePassEncoder, GPURenderPassEncoder i GPUCommandEncoder, ograniczając nakład pracy związany z wywołaniami z wygenerowanego kodu w mechanizmie JavaScript V8 do modułów obsługi C++ w silniku renderowania Blink. Zobacz problem chromium:1417558.

W porównaniu poniżej widać, że czas pracy procesora związany z wywołaniami JavaScriptu maleje z około 0,5 ms na 10 tys.pobrań do około 0,3 ms na 10 tys., co oznacza wzrost o 40%.

Zrzut ekranu z wykresem porównawczym przeglądarki Chrome przedstawiającym ulepszenia szybkich połączeń.
Wykres porównawczy Chrome przedstawiający ulepszenia szybkich połączeń (źródło).

Metoda getCurrentTexture() w nieskonfigurowanym obszarze roboczym powoduje zgłoszenie nieprawidłowego stanu błędu

Wywołanie metody GPUCanvasContext getCurrentTexture() w nieskonfigurowanym obszarze roboczym powoduje teraz wywołanie InvalidStateError zamiast OperationError zgodnie ze specyfikacją WebGPU. Zobacz problem chromium:1424461.

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

Aktualizacje WGSL

Wektory AbstractInt z wypełnieniem zero można teraz zapisywać jako vec2(), vec3() i vec4(). Zobacz numer problemu:1892. Na przykład:

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

Aktualizacje o świcie

Poprawianie komunikatów o błędach

Etykiety deskryptorów nieprawidłowych obiektów nie są już usuwane, dzięki czemu możesz je zobaczyć w komunikatach o błędach. Zobacz problem o świcie:1771.

Dodaj brakujące interfejsy API dla Node.js

Metody GPUAdapter::requestAdapterInfo() i GPUBuffer::getMapState() zostały wdrożone w Node.js. Zapoznaj się z problemem świt:1761.

Co nowego w WebGPU

Lista wszystkiego, co zostało omówione w serii Co nowego w WebGPU.

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