Co nowego w WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optymalizacja kodu JavaScriptu

Współtwórcy Chromium przyspieszyli działanie WebGPU w przypadku metod GPUComputePassEncoder, GPURenderPassEncoderGPUCommandEncoder, zmniejszając obciążenie wywoływania metod generowanych przez kod w silniku JavaScript V8 do obsługi C++ w silniku renderowania Blink. Zobacz problem chromium:1417558.

Ten mikrotest pokazuje, że czas procesora na wywołania z JavaScriptu zmniejszył się z około 0,5 ms na 10 tys.wyświetleń do około 0,3 ms na 10 tys.wyświetleń, co oznacza poprawę o 40%.

Zrzut ekranu przedstawiający wykres porównawczy przeglądarki Chrome pokazujący ulepszenia dotyczące szybkich wywołań.
Wykres porównawczy Chrome przedstawiający ulepszenia wywołań szybkich (źródło).

wywołanie metody getCurrentTexture() na nieskonfigurowanym płótnie powoduje błąd InvalidStateError

Zgodnie z specyfikacją WebGPU wywołanie metody GPUCanvasContext getCurrentTexture() na nieskonfigurowanym płótnie powoduje teraz błąd InvalidStateError zamiast OperationError. Zobacz problem chromium:1424461.

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

Aktualizacje WGSL

Wektory wypełnione zerami AbstractInt można teraz zapisać jako vec2(), vec3()vec4(). Zobacz issue tint:1892. Na przykład:

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

Aktualizacje świtu

Ulepszanie komunikatów o błędach

Etykiety opisów nieprawidłowych obiektów nie są już pomijane, więc możesz je zobaczyć w komunikatach o błędach. Zobacz issue dawn:1771.

Dodawanie brakujących interfejsów API do Node.js

Metody GPUAdapter::requestAdapterInfo()GPUBuffer::getMapState() są teraz implementowane w Node.js. Zobacz issue dawn:1761.

Co nowego w WebGPU

Lista wszystkich tematów omawianych w cyklu Co nowego w 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