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 pokazują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: świt:1771.

Dodaj brakujące interfejsy API dla Node.js

Metody GPUAdapter::requestAdapterInfo() i GPUBuffer::getMapState() zostały wdrożone w Node.js. Zobacz problem świt:1761.

Co nowego w WebGPU

Lista wszystkiego, co zostało omówione w serii Co nowego w 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