Je tente de détecter la prise en charge de WebGL sur plusieurs navigateurs et j'ai rencontré le scénario suivant. La version actuelle de Firefox semble signaler une prise en charge positive en utilisant la vérification suivante, même lorsque la carte vidéo du visiteur est sur liste noire et/ou que WebGL est désactivé :
if (window.WebGLRenderingContext) {
// This is true in Firefox under certain circumstances,
// even when WebGL is disabled...
}
J'ai essayé de demander à mes utilisateurs d'activer WebGL en suivant les étapes suivantes. Cela a fonctionné dans certains cas, mais pas toujours. Évidemment, ce n'est pas quelque chose que je peux demander au grand public :
- Type about:config dans la barre d'adresse de Firefox
- Pour activer WebGL, définissez webgl.force-enabled à vrai
Cela m'a conduit à créer ma propre méthode de détection du support, qui utilise jQuery pour injecter un élément de toile afin de détecter le support. Cette méthode s'inspire d'un certain nombre de techniques que j'ai trouvées dans diverses bibliothèques et plugins WebGL. Le problème est qu'il est extrêmement difficile de la tester (tout commentaire sur le fonctionnement du lien ci-dessous sera apprécié !) Pour en faire une question objective, J'aimerais savoir s'il existe une méthode universellement acceptée pour détecter le support de WebGL sur tous les navigateurs. .
URL DU TEST :
1 votes
Eek, je n'avais aucune idée qu'il y avait d'autres moyens d'obtenir le contexte webgl au-delà de
experimental-webgl
Merci de l'avoir souligné.0 votes
Et que voulez-vous dire par votre méthode est difficile à tester ? Avez-vous peur qu'elle crée de faux positifs/négatifs ? Il me semble que si vous demandez un contexte webgl et que vous ne l'obtenez pas, alors votre application ne peut pas continuer. A moins que quelque chose ne m'échappe ?
0 votes
@MattGreer, c'est difficile à tester dans le sens où il est difficile de trouver une machine de test avec la combinaison spécifique de Firefox et une carte vidéo sur liste noire et/ou des graphiques non supportés. Plus précisément, j'essaie de savoir dans quelles circonstances ma méthode de test renvoie "false" dans la dernière version de Firefox.
1 votes
Ah, ok. Pour ce que ça vaut, j'ai un petit site web basé sur webgl et j'ai eu plusieurs machines qui ont échoué avec Firefox. Il semble que les machines aux alentours de 2009 échouent (désolé, je n'ai pas de meilleures données que cela). Je peux aussi toujours faire échouer Firefox en l'exécutant sous Windows dans VirtualBox (OSX comme hôte), le support de l'accélération 3D de VirtualBox est assez faible.
0 votes
Le fait de détecter la prise en charge de WebGL ne signifie pas automatiquement que le produit sera bon. WebGL peut être émulé par "swiftshader" ou, dans le cas de Firefox sous Linux, il peut être partiellement ou totalement émulé par "mesa 3D". Comme Mesa accélère très bien la 2D, il peut être judicieux de choisir manuellement le canevas même lorsque WebGL semble disponible.