Any3DAny3D
·Any3D Team

OffscreenCanvas indisponible ? Dépannage par plateforme et environnement

troubleshootingbrowser-compatibilityoffscreencanvas

Symptômes

Any3D affiche "Votre navigateur ne supporte pas OffscreenCanvas". C'est l'une des trois composantes clés de la voie Worker ; sans elle, des processus comme la compression de texture nécessitant l'encodage WebGL2 dans un Worker ne peuvent pas s'exécuter complètement.

OffscreenCanvas permet de créer un canevas dans un Web Worker et d'obtenir un contexte WebGL, effectuant des opérations GPU en arrière-plan sans bloquer la page.

Causes fréquentes

CauseScénario typique
Navigateur/WebView obsolèteChrome < 69, Safari < 16.4, ancien Android WebView
Accélération matérielle désactivéeMode économie d'énergie ou stratégie désactivant le GPU sur Windows/macOS
Stratégie d'entrepriseGPO désactivant le GPU, MDM limitant les capacités graphiques
WebView intégréWeChat, applications d'entreprise, ancien shell Electron
Couche réseauRare ; plus souvent un échec de chargement du script que de l'API elle-même

Dépannage par plateforme

Windows

  1. Chrome / Edge : Paramètres → Système → Activer "Utiliser l'accélération matérielle" → Quitter complètement et redémarrer le navigateur.
  2. Pilote graphique : Sur un ordinateur portable à double carte graphique, assurez-vous que le navigateur utilise le GPU dédié (Panneau de configuration NVIDIA / AMD Software).
  3. Stratégie de groupe : Les stratégies du type "Désactiver l'accélération matérielle" entraînent l'échec de la création du contexte WebGL d'OffscreenCanvas.
  4. Bureau à distance (RDP) : Certaines sessions RDP ont des capacités GPU limitées ; testez en comparant avec une connexion locale.

macOS

  1. Safari 16.4+ ou Chrome en version la plus récente.
  2. Paramètres Système → Batterie : le mode basse consommation peut réduire l'ordonnancement du GPU ; réessayez en branchant l'appareil.
  3. Temps d'écran ne désactive généralement pas directement OffscreenCanvas, mais si une restriction MDM touche les API graphiques, contactez le service IT.

Linux

  1. Vérifiez que Mesa/le pilote propriétaire fonctionne correctement ; testez avec la version la plus récente de Chrome sous Wayland et X11.
  2. Pour un navigateur distant sur serveur headless, un GPU virtuel est nécessaire (scénario personnel rare).

iOS / iPadOS

  1. Safari est mis à jour avec le système (la prise en charge d'OffscreenCanvas est assez complète à partir d'iOS 16.4).
  2. Le WebView intégré à une application peut être en retard par rapport à Safari système — ouvrez le lien dans Safari.
  3. Un iPad en mode supervision scolaire peut être bloqué sur un ancien système ; une mise à jour par l'administrateur est nécessaire.

Android

  1. Mettez à jour Chrome et Android System WebView.
  2. Les navigateurs chinois avec noyau de compatibilité ne le supportent pas → utilisez le noyau rapide ou Chrome.
  3. Sur les appareils bas de gamme, le pilote GPU est souvent ancien : essayez de désactiver le "mode économie d'énergie" avant de réessayer.

Réseau, VPN et environnement d'entreprise

OffscreenCanvas est une API locale, ** généralement pas affectée directement par le VPN**. Cependant, si le VPN provoque une dégradation du navigateur en "mode sécurisé" ou injecte des scripts via des extensions d'entreprise, cela peut entraîner un échec indirect :

  • Déconnectez le VPN pour comparer ;
  • Vérifiez si le navigateur d'entreprise force le "rendu logiciel" ;
  • Lors de l'imbrication iframe, assurez-vous que la couche externe n'empêche pas WebGL dans le Worker.

Contrôle parental et appareils supervisés

  • Family Link / Temps d'écran : Il est très rare qu'OffscreenCanvas soit désactivé directement ; plus souvent, c'est l'interdiction des mises à jour du navigateur qui rend l'API obsolète — autorisez les mises à jour automatiques du système.
  • Mode examen/bibliothèque : Peut utiliser un navigateur personnalisé, il est recommandé d'utiliser un appareil personnel.

Réparation étape par étape (général)

  1. Mettez à jour le navigateur à une version supérieure ou égale au minimum indiqué dans le tableau ci-dessus.
  2. Activez l'accélération matérielle et redémarrez le navigateur.
  3. Ouvrez le lien dans le navigateur système, pas dans le WebView d'une application.
  4. Si des erreurs WebGL2 coexistent, traitez d'abord le guide Correction de WebGL2.

Auto-test rapide

typeof OffscreenCanvas !== "undefined"

Renvoie false si l'API n'est pas supportée dans l'environnement actuel.

Conclusion

L'absence d'OffscreenCanvas est fréquente sur les navigateurs/WebView anciens, avec l'accélération matérielle désactivée, lors de sessions Windows à distance ou à cause de stratégies GPU d'entreprise. Activer l'accélération GPU par plateforme, mettre à jour le WebView et utiliser le navigateur système rétablit généralement la capacité d'encodage GPU dans le Worker.

Nous soutenir