Skip to content

Vérificateur WebGL et WebGPU

Découvrez ce que votre navigateur peut faire en matière de graphismes. Cet outil vérifie si votre navigateur prend en charge WebGPU, WebGL 2 et WebGL 1, puis affiche votre GPU, ses principales limites et les détails de votre appareil. Tout s’exécute localement dans votre navigateur, rien n’est envoyé.

Pourquoi c’est important pour les jeux web

Si vous créez des jeux pour navigateur ou y jouez, l’API de rendu détermine ce qui est possible. WebGL 2 constitue la base fiable qui fonctionne presque partout. WebGPU est l’API plus récente qui donne accès aux shaders de calcul et aux fonctionnalités modernes des GPU, mais sa prise en charge varie selon le navigateur et l’appareil. Vérifier ce qu’un appareil indique réellement est le moyen le plus rapide de résoudre les problèmes du type « ça fonctionne sur ma machine » et de décider s’il faut proposer un chemin de rendu WebGPU avec un repli vers WebGL 2.

La ligne indiquant le fabricant et le moteur de rendu du GPU est particulièrement utile. Elle vous permet de savoir si le navigateur utilise le véritable GPU ou s’il se replie sur un rendu logiciel lent, cause fréquente de chutes mystérieuses de la fréquence d’images.

Ce que l’outil vérifie

  • WebGPU : la présence de navigator.gpu, le fabricant et l’architecture de l’adaptateur, ainsi que des limites comme la taille maximale des textures, la taille maximale des tampons et les dimensions des groupes de travail de calcul, plus la liste des fonctionnalités prises en charge.
  • WebGL 2 et WebGL 1 : la prise en charge, le fabricant et le moteur de rendu du GPU, la version de GLSL, ainsi que des limites comme la taille maximale des textures, la taille des tampons de rendu et le nombre d’attributs de sommets.
  • Appareil : le ratio de pixels, le nombre de cœurs logiques du processeur, la mémoire de l’appareil, la taille de l’écran et le nombre de points tactiles.

WebGPU ou WebGL : quelle différence ?

WebGL et WebGPU permettent tous deux de communiquer avec le GPU depuis une page web, mais ils proviennent d’époques différentes.

WebGL repose sur OpenGL ES, une API graphique des années 2000. WebGL 1 est sorti en 2011 et WebGL 2 en 2017. Il s’agit d’un pipeline purement graphique : vous lui fournissez des sommets et des shaders, et il dessine des pixels. WebGL est disponible partout, stable, et presque tous les jeux pour navigateur l’utilisent depuis une décennie.

WebGPU est son remplaçant moderne, conçu autour du fonctionnement réel des GPU actuels (il s’appuie sur Vulkan, Metal et Direct3D 12). Il est arrivé dans Chrome en 2023 et a été pris en charge par tous les principaux navigateurs fin 2025. Ses deux grands apports sont les shaders de calcul (qui permettent d’exécuter des tâches générales sur le GPU, au-delà du simple dessin, ce qui est utile pour la physique, les particules, l’élimination des objets invisibles et l’IA) et une charge processeur nettement plus faible, afin d’afficher beaucoup plus d’objets par image.

WebGL 2WebGPU
Date de sortie20172023, largement pris en charge fin 2025
Fondé surOpenGL ES 3.0Vulkan / Metal / D3D12
Shaders de calculNonOui
Charge processeurPlus élevéeBeaucoup plus faible
Langage de shadersGLSLWGSL
Prise en charge par les navigateursUniverselleNavigateurs modernes uniquement
Rôle idéalBase fiableGain de performances et capacités de calcul

Conclusion pratique pour 2026 : WebGPU est plus rapide et plus puissant, mais WebGL 2 reste plus largement accessible. La plupart des équipes proposent WebGL 2 comme base et ajoutent un chemin de rendu WebGPU lorsqu’il est disponible. Des moteurs comme Three.js, Babylon.js et PlayCanvas le font déjà automatiquement avec un repli vers WebGL 2, raison pour laquelle le vérificateur ci-dessus teste les deux.

Explication des capacités de WebGPU

WebGPU dispose d’un ensemble de fonctionnalités facultatives qui complètent son socle principal. Le vérificateur les regroupe selon leur utilité pour un jeu. Voici le rôle de chaque groupe. Chaque nom de fonctionnalité ci-dessous renvoie à sa définition dans la spécification WebGPU du W3C.

Compression des textures : BC, ETC2 et ASTC

Les textures compressées par le GPU restent compressées dans la mémoire vidéo. Elles réduisent donc bien davantage l’utilisation de la VRAM et la taille des téléchargements que les formats PNG ou JPEG. Le problème est que ces formats dépendent du matériel. Les GPU de bureau utilisent BC (également appelé S3TC ou DXT), la plupart des appareils Android utilisent ETC2, et les appareils mobiles modernes utilisent ASTC. Pour prendre en charge tous les appareils, il faut généralement fournir plusieurs formats, souvent au moyen d’un conteneur KTX2 avec Basis Universal, qui effectue un transcodage vers le format pris en charge par l’appareil. Les variantes « sliced 3D » étendent BC et ASTC aux textures 3D volumétriques. C’est pourquoi le vérificateur répertorie chaque format séparément : il vous indique exactement quelles textures compressées vous pouvez fournir à cet appareil.

Shaders et calcul

C’est dans ce domaine que WebGPU prend l’avantage sur WebGL. Les shaders de calcul permettent d’exécuter des tâches générales sur le GPU, et pas seulement du dessin. Ils rendent possibles les particules calculées par le GPU, la physique, l’élimination des objets invisibles et l’IA sur l’appareil. shader-f16 ajoute les nombres flottants 16 bits pour offrir un débit de calcul environ deux fois supérieur lorsque la précision maximale n’est pas nécessaire. Les subgroups permettent aux threads d’une vague GPU de partager directement des données sans aller-retour par la mémoire, ce qui améliore fortement les réductions et les sommes préfixes. float32-filterable autorise le filtrage fluide des textures de haute précision utilisées pour le HDR et les effets manipulant beaucoup de données.

Rendu et mélange

Ces fonctionnalités permettent d’obtenir un rendu de meilleure qualité. float32-blendable et rg11b10ufloat-renderable rendent possibles le HDR et les cibles de rendu à grande plage dynamique. dual-source-blending prend en charge des effets de mélange avancés, comme un rendu correct du texte sous-pixel et certaines techniques de transparence. bgra8unorm-storage permet aux shaders d’écrire directement dans les formats courants de chaîne de permutation.

Profondeur et découpage

depth-clip-control et depth32float-stencil8 offrent un contrôle précis du tampon de profondeur, ce qui est important pour les ombres, les vastes mondes ouverts et la prévention du z-fighting. clip-distances permet aux shaders de découper la géométrie selon des plans personnalisés, ce qui est utile pour les portails, les reflets sur l’eau et les miroirs.

Profilage et fonctionnalités principales

timestamp-query mesure le temps côté GPU afin de déterminer précisément la durée de chaque passe, ce qui est essentiel pour corriger les problèmes de fréquence d’images. indirect-first-instance prend en charge le rendu piloté par le GPU, dans lequel le GPU décide de ce qui doit être dessiné. core-features-and-limits représente le socle que tout appareil WebGPU conforme doit prendre en charge.

Signification des limites du GPU

Le panneau de détails indique les limites exposées par votre GPU. Les plus importantes pour les jeux sont les suivantes :

  • Moteur de rendu / fabricant du GPU — la puce graphique réellement utilisée par votre navigateur. Si SwiftShader ou llvmpipe est indiqué, vous utilisez un rendu logiciel et les jeux seront lents.
  • Taille maximale des textures — la plus grande dimension de texture acceptée par le GPU (généralement 8 192 ou 16 384 px). Elle limite la résolution de vos textures et de vos cibles de rendu.
  • Taille maximale des groupes de travail de calcul (WebGPU) — le nombre de threads qu’un shader de calcul peut exécuter par groupe, ce qui est important si vous déléguez la physique ou les particules au GPU.
  • Taille maximale des tampons (WebGPU) — la taille maximale d’un tampon GPU unique, qui limite la quantité de géométrie ou de données que vous pouvez envoyer en une seule fois.
  • Ratio de pixels de l’appareil — le nombre de pixels physiques derrière chaque pixel CSS. Les écrans haute densité (2x, 3x) affichent beaucoup plus de pixels, ce qui constitue une cause fréquente et peu visible de faibles fréquences d’images sur les téléphones.

Questions fréquentes

Mon navigateur prend-il en charge WebGPU ?

Exécutez le vérificateur ci-dessus. Si WebGPU affiche « Pris en charge », votre navigateur expose l’API WebGPU et a trouvé un adaptateur GPU compatible. En 2026, WebGPU est activé par défaut dans Chrome et Edge (113+), Firefox et Safari 26 sous macOS, iOS et iPadOS, mais les navigateurs plus anciens et certains appareils ne disposent encore que de WebGL 2. L’outil lit les capacités réelles de votre appareil : il fournit donc la réponse la plus fiable pour votre configuration exacte.

Quelle est la différence entre WebGL et WebGPU ?

WebGL est l’API graphique historique des navigateurs, fondée sur OpenGL ES, et WebGL 2 est sa version largement prise en charge. WebGPU est l’API plus récente, conçue autour du fonctionnement réel des GPU modernes, qui ajoute les shaders de calcul et réduit la charge système. WebGPU est plus rapide et plus puissant, mais WebGL 2 bénéficie d’une prise en charge plus large. La plupart des jeux web utilisent donc WebGL 2 comme base et WebGPU lorsqu’il est disponible.

Pourquoi mon GPU apparaît-il comme logiciel ou « SwiftShader » ?

Si la ligne du moteur de rendu affiche SwiftShader, llvmpipe ou « Logiciel », votre navigateur effectue le rendu sur le processeur plutôt que sur le GPU. Cela signifie généralement que l’accélération matérielle est désactivée, qu’un pilote figure sur une liste de blocage ou que vous utilisez un environnement restreint. Activer l’accélération matérielle dans les paramètres de votre navigateur ou mettre à jour le pilote de votre GPU corrige normalement le problème. Il s’agit d’une cause fréquente de mauvaises performances dans les jeux web.

Ce vérificateur WebGL est-il sûr ? Envoie-t-il des données ?

Il est sûr et fonctionne entièrement en local. L’outil lit uniquement les informations de capacité que votre navigateur expose déjà à n’importe quelle page web, et il s’exécute entièrement dans votre navigateur. Rien n’est envoyé ni stocké.

Contenus associés