OffscreenCanvas indisponible ? Dépannage par plateforme et environnement
Les symptômes que vous observez
Any3D affiche le message « Votre navigateur ne prend pas en charge OffscreenCanvas ». Il s'agit de l'un des trois piliers du pipeline Worker ; sans lui, les flux nécessitant une compression de texture avec encodage WebGL2 dans un Worker ne peuvent pas s'exécuter pleinement.
OffscreenCanvas permet de créer un canvas et d'obtenir un contexte WebGL dans un Web Worker, effectuant ainsi des opérations GPU en arrière-plan sans bloquer la page principale.
Causes courantes
| Cause | Scénario typique |
|---|---|
| Navigateur / WebView obsolète | Chrome < 69, Safari < 16.4, ancien WebView Android |
| Accélération matérielle désactivée | Mode économie d'énergie Windows/macOS ou stratégie désactivant le GPU |
| Stratégie d'entreprise (GPO / MDM) | GPO désactivant le GPU, MDM restreignant les capacités graphiques |
| WebView intégrée | Navigateurs in-app, applications d'entreprise, anciens shells Electron |
| Couche réseau | Rare ; généralement lié à un échec de chargement de script, pas à l'API elle-même |
Dépannage par plateforme
Windows
- Chrome / Edge : Paramètres → Système → Activer « Utiliser l'accélération matérielle » → Quitter et redémarrer complètement le navigateur.
- Pilotes GPU : Sur les ordinateurs portables à double GPU, assurez-vous que le navigateur utilise le GPU dédié (Panneau de configuration NVIDIA / AMD Software).
- Stratégie de groupe (GPO) : Des stratégies désactivant l'accélération matérielle empêcheront la création du contexte WebGL avec OffscreenCanvas.
- Bureau à distance (RDP) : Certaines sessions RDP limitent les fonctionnalités GPU ; testez en session locale pour comparer.
macOS
- Utilisez Safari 16.4+ ou la dernière version de Chrome.
- Réglages Système → Batterie → Le mode économie d'énergie peut réduire les performances du GPU ; branchez le secteur et réessayez.
- Temps d'écran ne bloque généralement pas OffscreenCanvas directement, mais si un MDM restreint les API graphiques, contactez votre service informatique.
Linux
- Vérifiez que Mesa / les pilotes propriétaires fonctionnent correctement ; testez avec la dernière version de Chrome sous Wayland et X11.
- Les serveurs headless exécutant des navigateurs distants nécessitent un GPU virtuel.
iOS / iPadOS
- Safari est mis à jour avec le système (le support d'OffscreenCanvas est complet à partir d'iOS 16.4+).
- Les WebViews intégrées aux applications peuvent être en retard sur Safari système — ouvrez le lien dans Safari.
- Les iPad gérés par des établissements scolaires peuvent être bloqués sur d'anciennes versions ; un administrateur doit les mettre à jour.
Android
- Mettez à jour Chrome et Android System WebView.
- Certains navigateurs tiers n'intègrent pas cette prise en charge ; basculez vers Chrome.
- Sur les appareils d'entrée de gamme : essayez de désactiver l'économiseur de batterie et réessayez.
Réseau, VPN et environnements d'entreprise
OffscreenCanvas est une API locale et n'est généralement pas directement affectée par les VPN. Cependant, si un VPN force le navigateur en mode sans échec ou injecte des scripts via des extensions d'entreprise, des problèmes indirects peuvent survenir :
- Déconnectez le VPN et comparez ;
- Vérifiez si le navigateur d'entreprise force le « rendu logiciel » ;
- En cas d'intégration dans une iframe, confirmez que la page parente ne bloque pas WebGL dans le Worker.
Contrôle parental et appareils gérés
- Family Link / Temps d'écran : Désactivent rarement OffscreenCanvas directement, mais bloquent souvent les mises à jour du navigateur — autorisez les mises à jour système automatiques.
- Mode kiosque d'examen/bibliothèque : Peut utiliser un navigateur verrouillé ; utilisez un appareil personnel à la place.
Étapes de résolution (Universel)
- Mettez à jour votre navigateur vers une version prise en charge.
- Activez l'accélération matérielle et redémarrez le navigateur.
- Ouvrez la page dans le navigateur système standard plutôt que dans une WebView intégrée.
- Si vous rencontrez également des erreurs WebGL2, suivez d'abord le Guide de dépannage WebGL2.
Test rapide
typeof OffscreenCanvas !== "undefined";
Si le résultat est false, cela signifie que l'environnement actuel ne prend pas en charge cette API.
Résumé
L'absence d'OffscreenCanvas est principalement due à des navigateurs/WebViews obsolètes, une accélération matérielle désactivée, des sessions Bureau à distance Windows ou des stratégies GPU d'entreprise. L'activation de l'accélération matérielle, la mise à jour de la WebView et l'utilisation du navigateur système permettent généralement de restaurer l'encodage GPU dans le Worker.