WebGPU fournit une API similaire à Vulkan, Metal et Direct3D 12, qui sont des API graphiques populaires dans le développement de jeux et d'autres applications gourmandes en GPU. Cela signifie que les développeurs qui sont déjà familiarisés avec ces API auront plus de facilité à passer à WebGPU.
La version initiale de WebGPU dans Chrome ne sera disponible que sur ChromeOS, macOS et Windows. La prise en charge de Linux et d'Android est prévue à une date ultérieure. Cela permettra de s'assurer que l'implémentation est stable et fiable avant qu'elle ne devienne accessible sur d'autres plateformes.
L'équipe Chrome est ravie d'annoncer que WebGPU est désormais disponible par défaut dans Chrome 113, qui est actuellement dans le canal bêta. WebGPU est une nouvelle API graphique web qui offre des avantages significatifs tels qu'une charge de travail JavaScript considérablement réduite pour les mêmes graphiques et des améliorations de plus de trois fois dans les inférences des modèles d'apprentissage automatique. Cela est possible grâce à une programmation GPU plus flexible et à l'accès à des capacités avancées que WebGL ne fournit pas.
Cette version initiale de WebGPU est disponible sur ChromeOS, macOS et Windows. La prise en charge d'autres plateformes est prévue dans le courant de l'année.
Une nouvelle ère pour les graphismes web
WebGPU est une nouvelle API pour le web, qui expose les capacités matérielles modernes et permet des opérations de rendu et de calcul sur un GPU, à l'instar de Direct3D 12, Metal et Vulkan. Contrairement à la famille d'API WebGL, WebGPU offre un accès à des fonctionnalités plus avancées du GPU et fournit un support de premier ordre pour les calculs généraux sur le GPU. L'API est conçue pour la plateforme web, avec une API JavaScript idiomatique, l'intégration des promesses, la prise en charge de l'importation de vidéos et une expérience de développement soignée avec de bons messages d'erreur.
Cette première version de WebGPU sert de base aux futures mises à jour et améliorations. L'API offrira des fonctionnalités graphiques plus avancées, et les développeurs sont encouragés à envoyer des demandes de fonctionnalités supplémentaires. L'équipe Chrome prévoit également d'offrir un accès plus approfondi aux cœurs de shaders pour optimiser encore davantage l'apprentissage automatique et améliorer l'ergonomie dans le WGSL, le langage de shading WebGPU.
WebGPU est le résultat d'un effort de collaboration du groupe communautaire "GPU pour le web" du W3C, qui comprend des contributions de grandes entreprises telles que Mozilla, Apple, Intel et Microsoft. Après six ans de développement (90 contributeurs, 2000 commits, 3000 issues), depuis la conception initiale en 2017, la première implémentation est maintenant disponible dans Chrome, avec un support pour Firefox et Safari en cours.
La bibliothèque Dawn pour Chromium et la bibliothèque wgpu pour Firefox sont toutes deux disponibles sous forme de paquets autonomes, et elles offrent une grande portabilité et des couches ergonomiques qui abstraient les API GPU du système d'exploitation. L'utilisation de ces bibliothèques dans des applications natives facilite également le portage vers WASM via Emscripten et Rust web-sys.
Support des navigateurs
Cette version initiale de WebGPU est disponible dans Chrome 113 sur les appareils ChromeOS avec prise en charge de Vulkan, les appareils Windows avec prise en charge de Direct3D 12 et macOS. Linux, Android et une prise en charge élargie des plateformes existantes seront bientôt disponibles.
WebGPU est actuellement en cours de développement dans Firefox et Safari, en plus de l'implémentation initiale dans Chrome.
Prise en charge des bibliothèques
De nombreuses bibliothèques WebGL largement utilisées sont déjà en train d'implémenter le support WebGPU ou l'ont déjà fait. Cela signifie que l'utilisation de WebGPU peut ne nécessiter qu'un seul changement de ligne :
- Babylon.js supporte déjà pleinement le WebGPU.
- PlayCanvas a annoncé la prise en charge initiale du WebGPU.
- TensorFlow.js supporte les versions optimisées pour le WebGPU de la plupart des opérateurs.
- La prise en charge du WebGPU par Three.js est en cours.
Source : Chrome Developers
Et vous ?
Qu'en pensez-vous ?
Selon vous, est-ce que WebGPU peut bouleverser l'expérience graphique sur le web ? Dans quelle mesure ?
Voir aussi
WebGPU : Apple propose de créer un nouveau standard pour les graphismes 3D sur le web, vers une alternative bas niveau à WebGL ?
WebGL 2.0 est désormais pris en charge par tous les principaux navigateurs, le standard apporte apporte les fonctionnalités d'OpenGL ES 3.0 ainsi que d'autres fonctionnalités
Khronos publie la spécification de Vulkan 1.3 et en assure une adoption rapide par les constructeurs
Ambient est un environnement d'exécution visant à simplifier la création de jeux multijoueurs et d'applications 3D hautes performances, optimisé par WebAssembly, Rust et WebGPU