Je travaille sur WebGL avec de grandes textures, et j'ai atteint le point où je dois utiliser la compression de texture pour atténuer les problèmes VRAM et le temps de téléchargement. Mon application devra fonctionner sur les téléphones mobiles iOS et Android des deux ou trois dernières années. Pour une fois, le support de bureau n'est pas conséquent. Je comprends que Chrome et Safari dans iOS me permettent de passer des textures au format PVRTC, car tous les appareils iOS utilisent des chipsets GPU PowerVR. Donc, iOS est un problème résolu. Je comprends également que presque tous les téléphones Android prennent officiellement en charge la compression de texture Ericsson (ETC, ETC1) - que cela est en fait mandaté par la spécification OpenGL 2. Cependant, j'ai lu des rapports que certains navigateurs sur certaines instances Android passent effectivement des textures ETC1 d'une manière non compressée.Quels formats de compression de texture sont disponibles sur Android-WebGL?
WebGLStats me met en garde contre assez crûment contre l'utilisation de l'extension WEBGL_compressed_texture_etc1:
Avertissement NE PAS UTILISER. Souvent implémenté dans les navigateurs en décompressant sur le CPU et en téléchargeant en taille réelle sur GPU avec des performances sévères, des effets vram et de qualité. Corrigé dans Chrome 57 et Firefox ??.
L'autre format courant que je connais est S3TC. Ceci est bien supporté sur le bureau, mais l'opérabilité d'Android semble limitée aux appareils utilisant des chipsets NVIDIA. Je crois que ceux-ci passent rares (Tegra seulement?).
Quelle est ma meilleure option pour choisir un format de compression de texture qui fonctionnera sur les téléphones Android modernes?