La table ci-dessus affiche tout ce que la pile WebGL de votre navigateur accepte de révéler sur votre GPU : chaîne du fournisseur, chaîne du moteur de rendu, version, limites de texture et nombre d'extensions optionnelles exposées par le pilote. J'ai écrit cette page après une session de débogage nocturne sur un ThinkPad T14 où Chrome signalait soudainement Google SwiftShader au lieu de la puce intégrée AMD que je savais être présente dans la machine. Une mise à jour du pilote avait échoué à mi-chemin ; le navigateur s'est rabattu sur le rendu logiciel et chaque démonstration de carte que j'ouvrais ramait. Ci-dessous, je détaille ce que signifient ces chaînes, quand ANGLE n'est pas un bug, comment WebGL se positionne par rapport à WebGPU, et pourquoi certains sites peuvent encore en apprendre énormément sur votre matériel via un canvas.
Ce que WebGL expose sur votre GPU
WebGL est une fine interface JavaScript vers votre GPU via un pipeline de style OpenGL ES. Lorsqu'une page crée un contexte webgl ou webgl2 sur un élément <canvas>, le navigateur demande un périphérique graphique au système d'exploitation et renvoie des paramètres tels que MAX_TEXTURE_SIZE, MAX_RENDERBUFFER_SIZE et MAX_VIEWPORT_DIMS. Ces entiers sont de véritables limites : dépassez-les et les textures seront bridées ou les allocations échoueront.
Les chaînes lisibles par l'homme qui intéressent les utilisateurs, moteur de rendu (renderer) et fournisseur (vendor), proviennent de deux couches. Les paramètres de base RENDERER and VENDOR peuvent déjà être masqués sur les versions orientées sur la confidentialité. L'extension facultative WEBGL_debug_renderer_info ajoute UNMASKED_RENDERER_WEBGL et UNMASKED_VENDOR_WEBGL, lus directement depuis la pile du pilote. C'est ainsi qu'un site peut afficher une chaîne aussi spécifique que ANGLE (AMD, Radeon RX 6700 XT Direct3D11 vs_5_0 ps_5_0) sans installer de binaire natif.
Rien de tout cela n'est envoyé sur notre serveur par l'outil. Les valeurs sont calculées localement dans votre onglet de la même manière que n'importe quel jeu WebGL les lit. Les scripts d'analyse tiers sur d'autres sites sont la raison habituelle pour laquelle les gens s'inquiètent de cette surface d'exposition, et non une page de diagnostic ouverte délibérément.
WebGL 1, WebGL 2 et le successeur WebGPU
WebGL 1.0 suit OpenGL ES 2.0 : pas de transform feedback, formats de texture limités, mais prise en charge universelle sur tout ce qui reçoit encore des mises à jour de sécurité en 2026. WebGL 2.0 suit OpenGL ES 3.0 : cibles de rendu multiples, textures 3D, instanciation, objets tampons uniformes et langage de ombrage plus strict. La plupart des GPU de bureau et des téléphones modernes exposent WebGL 2 ; les très anciens WebViews Android peuvent ne pas le faire.
WebGPU est le successeur désigné : une API explicite de plus bas niveau modélisée d'après Metal, Vulkan et Direct3D 12, standardisée par le W3C dans la spécification WebGPU. Il ne s'agit pas d'un remplacement direct de WebGL ; les moteurs comme Three.js et Babylon.js maintiennent des moteurs de rendu distincts. En pratique, WebGL restera utilisé pendant des années car le contenu et les supports d'apprentissage en dépendent déjà, tandis que les nouveaux travaux critiques pour les performances s'orientent vers les compute shaders de WebGPU et un contrôle plus fin de la mémoire.
Comment cette page détecte votre GPU
Le script client crée un canvas hors écran, demande la version de WebGL la plus élevée proposée par le navigateur, puis interroge les paramètres et les extensions exactement comme le ferait un jeu au premier démarrage. Si WEBGL_debug_renderer_info est absent, les champs non masqués restent vides et vous devez supposer que l'éditeur du navigateur masque délibérément les noms commerciaux du pilote. Si WebGL ne peut pas être créé du tout, l'appel de contexte a renvoyé null : les causes courantes incluent l'accélération matérielle désactivée, l'accès bloqué au GPU par des politiques d'entreprise ou une session de bureau à distance qui n'a pas transmis GL.
Le nombre d'extensions est la longueur de getSupportedExtensions(). Les différents moteurs s'orientent vers des noms comme OES_texture_float, EXT_color_buffer_float ou OES_vertex_array_object(promue au cœur de WebGL 2). Une longue liste est généralement corrélée à un pilote récent, et non à un "meilleur jeu" en soi, mais elle explique pourquoi un ordinateur portable peut exécuter un shader qu'un autre rejette au moment de la compilation.
Pourquoi vous pourriez lire ANGLE ou SwiftShader au lieu d'une marque de puce
ANGLE (Almost Native Graphics Layer Engine) est la couche de compatibilité de Google qui implémente OpenGL ES par-dessus Direct3D, Metal ou Vulkan selon la plateforme. Sur Chrome sous Windows, voir ANGLE dans la chaîne du moteur de rendu signifie généralement que votre GPU réel est toujours utilisé ; ANGLE es le traducteur, pas un émulateur logiciel. Le code source d'ANGLE documente les backends pris en charge par système d'exploitation.
SwiftShader est différent : il s'agit d'un rastériseur CPU fourni par Chromium comme solution de repli en cas de crash du processus GPU, lorsque l'accélération matérielle est désactivée ou lorsqu'un pilote est sur liste noire. Les performances chutent, mais les pages restent fonctionnelles. Si vous vous attendiez à un nom NVIDIA ou AMD et que vous voyez SwiftShader, ouvrez les paramètres de votre navigateur, confirmez que l'accélération matérielle est activée, puis mettez à jour le pilote GPU du système d'exploitation avant de chercher des bugs WebGL dans votre propre code.
Les ordinateurs portables équipés de doubles puces graphiques (Intel intégrée et NVIDIA dédiée) affichent parfois Intel sous WebGL tandis que la carte dédiée gère les jeux en plein écran. En effet, le processus du navigateur est affecté au GPU intégré pour économiser de l'énergie, à moins que vous ne forciez le mode haute performance dans le panneau de configuration du fabricant ou les paramètres graphiques du système d'exploitation.
Compromis de confidentialité autour de l'empreinte WebGL
Les scripts de suivi combinent la chaîne du moteur de rendu, la liste des extensions, les particularités de précision et le timing des shaders pour créer un identifiant stable même lorsque les cookies sont effacés. Les navigateurs axés sur la confidentialité réduisent cette entropie : le mode de résistance à l'empreinte de Firefox et l'altération (farbling) de Brave mentent délibérément ou arrondissent les valeurs. Tor Browser va plus loin et avertit les utilisateurs avant d'exposer WebGL. Ces mesures d'atténuation expliquent pourquoi vos champs non masqués peuvent afficher des informations génériques, alors qu'un jeu AAA fonctionne parfaitement en utilisant le chemin masqué.
Désactiver complètement WebGL élimine un vecteur d'empreinte mais bloque des applications légitimes : Figma, Google Earth, la plupart des visionneuses CAD sur navigateur et de nombreux tableaux de bord de visualisation de données. Je considère WebGL comme un outil de travail : laissez-le activé pour le travail quotidien, renforcez le profil du navigateur lorsque vous effectuez des recherches sensibles, et fiez-vous aux listes de blocage de votre navigateur pour neutraliser les trackers connus plutôt que de nuire à votre propre productivité.
Activer ou désactiver l'accélération matérielle (quand c'est la bonne décision)
Dans Chromium, ouvrez chrome://settings/systemet assurez-vous que l'option "Utiliser l'accélération graphique si disponible" est activée, puis redémarrez. Dans Firefox, Préférences → Performance → décochez "Utiliser les paramètres de performance recommandés" si vous devez basculer l'accélération matérielle manuellement. Safari suit le panneau de préférences graphiques de macOS ; sur Apple Silicon, le GPU est toujours présent, mais la connexion à distance ou le partage d'écran peuvent modifier les fonctionnalités exposées à une session.
Si vous rencontrez des problèmes avec un seul site, essayez un nouveau profil avant de désactiver globalement GL. La moitié des rapports "WebGL est en panne" que j'ai déposés se sont révélés être des caches GPU corrompus ou des fichiers shader obsolètes, qu'une réinitialisation de profil résout plus rapidement que de basculer des paramètres globaux que vous oublierez d'annuler.
Les API graphiques du navigateur en un coup d'œil
| API | Prise en charge du navigateur (2026) | Accélération GPU | Utilisation typique |
|---|---|---|---|
| WebGL 1.0 | Tous les navigateurs modernes ; les WebViews Android hérités varient | Oui, lorsque la création du contexte réussit | Contenu 3D hérité, démos éducatives |
| WebGL 2.0 | Chrome, Firefox, Safari, Edge sur les versions actuelles du système d'exploitation | Oui ; se rabat sur SwiftShader si le GPU est bloqué | Jeux, cartes, visualisation scientifique, visionneuses CAD |
| WebGPU | Versions stables de Chrome et Edge ; déploiement en cours sur Firefox et Safari | Oui ; adaptateurs et files d'attente explicites | Inférence ML dans le navigateur, moteurs 3D de nouvelle génération |
| Canvas 2D | Universel | Souvent composite par GPU ; pas un pipeline 3D complet | Graphiques, édition d'images, jeux de sprites |
| OffscreenCanvas | Chromium et Firefox ; prise en charge partielle de WebKit | Identique au worker WebGL/WebGPU sous-jacent | Rendu dans les Web Workers sans bloquer l'interface utilisateur |
Les matrices de compatibilité évoluent chaque trimestre ; en cas de doute, consultez caniuse.com/webgl2 et caniuse.com/webgpu avant d'arrêter vos choix d'architecture.
Foire aux questions
Comment un site Web peut-il voir ma carte graphique ?
N'importe quel script sur la page peut créer un contexte WebGL et lire RENDERER, VENDOR et, si autorisé, les chaînes non masquées de WEBGL_debug_renderer_info. C'est voulu : les développeurs ont besoin de ces données pour ajuster les shaders. L'utilisation malveillante repose sur le même mécanisme avec une intention différente. Bloquer les scripts tiers ou utiliser un profil de navigateur sécurisé limite la diffusion de ce signal.
Qu'est-ce que ANGLE dans les informations de mon GPU ?
ANGLE est la couche de traduction entre WebGL et l'API graphique native de votre système d'exploitation. Ce n'est pas un faux GPU ; c'est l'infrastructure utilisée par Chromium pour exécuter le même code WebGL sur Direct3D, Metal ou Vulkan. Voir ANGLE aux côtés d'un modèle AMD ou NVIDIA est normal sous Windows. Voir SwiftShader n'est pas normal pour un ordinateur portable en bonne santé et signifie que le rendu est géré par le processeur (CPU).
Dois-je désactiver WebGL pour des raisons de confidentialité ?
Seulement si votre modèle de menace l'exige. Désactiver WebGL élimine un vecteur d'empreinte mais bloque également de nombreuses applications légitimes. Des solutions plus modérées (uBlock Origin, le mode strict de Firefox ou Tor Browser, les boucliers de Brave) ciblent les trackers tout en préservant le bon fonctionnement des sites principaux. Je garde WebGL activé et je m'appuie sur le blocage des scripts pour les blogs tiers.
Quelle est la différence entre WebGL et WebGPU ?
WebGL est une API de plus haut niveau héritée d'OpenGL ES. WebGPU est de plus bas niveau : vous gérez explicitement les tampons, les pipelines et les encodeurs de commandes, plus proche de Vulkan ou de Metal. WebGPU ajoute de véritables compute shaders, ce dont WebGL manque à moins de détourner les vertex shaders de manière créative. Les nouveaux moteurs ciblent de plus en plus WebGPU en priorité et conservent WebGL comme solution de repli.
Pourquoi mon GPU s'affiche-t-il comme Intel alors que j'ai une carte NVIDIA ?
Les ordinateurs portables équipés de technologies de type Optimus exécutent le gestionnaire de fenêtres et de nombreuses applications en arrière-plan sur le GPU intégré pour économiser de l'énergie. L'onglet du navigateur démarre souvent sur celui-ci, donc WebGL lit Intel. Forcer "Hautes performances" dans les paramètres graphiques de Windows ou dans le panneau de configuration NVIDIA déplace Chromium vers la carte dédiée, et les informations se mettent à jour après un redémarrage.
Outils connexes
La géométrie de l'écran s'associe au travail du GPU lorsque vous déboguez la mise en page : ouvrez Quelle est ma résolution d'écran. L'identité du navigateur et la version du moteur se situent à côté des chaînes du moteur de rendu dans Quel est mon navigateur. Le texte brut du user-agent (et les limites des Client Hints) se trouvent sur Quel est mon User Agent. Si vous vérifiez qu'un VPN n'a pas laissé de chemin secondaire exposé, lancez Test de fuite VPN après avoir terminé ici.