Nouveautés de WebGPU (Chrome 114)

François Beaufort
François Beaufort

Optimiser JavaScript

Les contributeurs Chromium ont accéléré les performances de WebGPU pour les méthodes GPUComputePassEncoder, GPURenderPassEncoder et GPUCommandEncoder en réduisant la charge liée aux appels du code généré dans le moteur JavaScript V8 vers les gestionnaires C++ du moteur de rendu Blink. Consultez le 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 Drawings à environ 0,3 ms pour 10 000 drawings, soit une amélioration de 40 %.

Capture d'écran du graphique d'analyse comparative du navigateur Chrome montrant l'amélioration de la rapidité des appels.
Graphique du benchmark Chrome montrant une amélioration de la rapidité des appels (source).

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

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

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

Mises à jour WGSL

Les vecteurs remplis de zéro d'AbstractInt peuvent désormais être écrits sous la forme vec2(), vec3() et vec4(). Consultez l'article issue tint:1892. Exemple :

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

Actualités de l'aube

Amélioration des messages d'erreur

Les étiquettes de descripteur des objets non valides ne sont plus supprimées afin que vous puissiez les voir 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 de tous les sujets abordés dans la série Nouveautés de 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