Nouveautés de WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optimiser JavaScript

Les contributeurs Chromium ont amélioré les performances WebGPU pour les méthodes GPUComputePassEncoder, GPURenderPassEncoder et GPUCommandEncoder en réduisant la surcharge des appels du code généré dans le moteur JavaScript V8 aux gestionnaires C++ dans le moteur de rendu Blink. Consultez le problème chromium:1417558.

Le microbenchmark suivant montre que le temps CPU des appels depuis JavaScript diminue d'environ 0,5 ms pour 10 000 tirages à environ 0,3 ms pour 10 000 tirages, ce qui représente une amélioration de 40 %.

Capture d'écran du graphique de référence du navigateur Chrome montrant les améliorations apportées aux appels rapides.
Graphique de référence Chrome montrant les améliorations des appels rapides (source).

getCurrentTexture() sur un canevas non configuré génère une erreur InvalidStateError

L'appel de la méthode getCurrentTexture() sur un canevas non configuré génère désormais InvalidStateError au lieu de OperationError, conformément à la spécification WebGPU. Consultez le problème chromium:1424461.GPUCanvasContext

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

Mises à jour de WGSL

Les vecteurs remplis de zéros de AbstractInt peuvent désormais être écrits sous la forme vec2(), vec3() et vec4(). Consultez le problème tint:1892. Exemple :

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

Mises à jour de l'Aube

Améliorer les messages d'erreur

Les libellés de description des objets non valides ne sont plus supprimés. Vous pouvez donc les voir dans les messages d'erreur. Consultez le problème dawn:1771.

Ajouter les API manquantes pour Node.js

Les méthodes GPUAdapter::requestAdapterInfo() et GPUBuffer::getMapState() sont désormais implémentées pour Node.js. Consultez le problème dawn:1761.

Nouveautés de WebGPU

Liste de tous les sujets abordés dans la série Nouveautés de WebGPU.

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

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