Nouveautés de WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optimiser JavaScript

Les contributeurs Chromium ont accéléré les performances WebGPU pour les méthodes GPUComputePassEncoder, GPURenderPassEncoder et GPUCommandEncoder en réduisant les frais d'appel du code généré dans le moteur JavaScript V8 vers les gestionnaires C++ dans le moteur de rendu Blink. Consultez problème chromium:1417558.

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

Capture d'écran du graphique de benchmark du navigateur Chrome montrant l'amélioration des appels rapides.
Graphique de benchmark de Chrome montrant l'amélioration des appels rapides (source)

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

L'appel de la méthode getCurrentTexture() GPUCanvasContext 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.

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

Mises à jour WGSL

Les vecteurs remplis de zéro de AbstractInt peuvent désormais être écrits sous la forme vec2(), vec3() et vec4(). Consultez issue 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 descripteur des objets non valides ne sont plus supprimés pour être visibles dans les messages d'erreur. Voir issue 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. Voir issue dawn:1761.

Nouveautés de WebGPU

Liste des points abordés dans la série Nouveautés de WebGPU.

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113