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 les coûts liés aux appels à partir du code généré dans le moteur JavaScript V8 vers les gestionnaires C++ dans le moteur de rendu Blink. Consultez le problème chromium:1417558.

Le microbenchmark suivant montre que le temps de processeur des appels à partir de JavaScript passe d'environ 0,5 ms pour 10 000 dessins à environ 0,3 ms pour 10 000 dessins, 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 apportées aux appels rapides (source).

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

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

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(). Voir le problème tint:1892. Exemple :

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

Informations Dawn

Amélioration des messages d'erreur

Les libellés de descripteur des objets non valides ne sont plus supprimés afin que vous puissiez 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. Voir le problème dawn:1761.

Nouveautés de WebGPU

Liste de tous les éléments abordés dans la série Nouveautés de 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