Co nowego w WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optymalizacja kodu 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 przedstawiający wykres porównawczy przeglądarki Chrome pokazujący ulepszenia dotyczące szybkich wywołań.
Wykres porównawczy Chrome przedstawiający ulepszenia dotyczące szybkich wywołań (źródło).

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

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.

Dodaj brakujące interfejsy API dla Node.js

Metody GPUAdapter::requestAdapterInfo() i GPUBuffer::getMapState() zostały wdrożone 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