Retour au blog
Formats

Format ASTC : le guide ultime de compression de texture

12 lecture min.

ASTC (Adaptive Scalable Texture Compression) est le format de compression de texture le plus avancé et le plus flexible disponible aujourd'hui. Développé par ARM et adopté comme norme officielle Khronos, ASTC offre un contrôle sans précédent sur la qualité et les taux de compression, ce qui en fait le choix idéal pour les graphiques mobiles et de bureau modernes.

Qu’est-ce que l’ASTC ?

ASTC est un format de compression de texture basé sur des blocs avec perte, conçu pour remplacer les anciens formats tels que ETC, PVRTC et DXT/BCn. Il a été spécialement conçu pour fournir un format unique et unifié qui fonctionne sur toutes les plates-formes et prend en charge un large éventail de compromis qualité/taille.

Contrairement aux formats précédents avec des taux de compression fixes, ASTC permet aux développeurs de choisir parmi 14 tailles de blocs 2D différentes (de 4×4 à 12×12) et plusieurs niveaux de qualité, offrant un contrôle précis sur l’équilibre entre la qualité visuelle et la consommation de mémoire.

ASTC prend en charge le contenu LDR (Low Dynamic Range) et HDR (High Dynamic Range), 1 à 4 canaux de couleur et les textures 2D et 3D. Cette polyvalence le rend adapté à pratiquement tous les types de textures dans les applications graphiques modernes.

Principales caractéristiques de l'ASTC

Tailles de blocs flexibles

14 tailles de blocs 2D différentes de 4×4 (8 bpp) à 12×12 (0,89 bpp), permettant un contrôle précis du taux de compression et de la qualité

Qualité réglable

Plusieurs niveaux de qualité d'encodage (rapide, moyen, minutieux, exhaustif) pour équilibrer le temps d'encodage et la fidélité visuelle

Prise en charge HDR

Prise en charge native des textures High Dynamic Range, essentielle pour les flux de travail PBR (Physically Based Rendering) modernes

Matériel efficace

Conçu pour une décompression matérielle efficace avec une consommation d'énergie et une utilisation de la bande passante mémoire minimales

Tailles des blocs ASTC expliquées

La taille du bloc d'ASTC détermine le taux de compression et la qualité. Les blocs plus petits préservent plus de détails mais offrent moins de compression :

Taille du blocBits/pixelsQualitéMeilleur cas d'utilisation
4x48.00Le plus hautTextures détaillées, cartes normales
5x55.12HautTextures de couleurs de haute qualité
6x63.56Moyen-élevéQualité/taille équilibrée (par défaut recommandé)
8x82.00MoyenTextures d'arrière-plan, éléments d'interface utilisateur
12x120.89InférieurCompression maximale pour les grandes textures

Niveaux de qualité d'encodage

Les encodeurs ASTC prennent en charge plusieurs préréglages de qualité qui affectent le temps d'encodage et la qualité de sortie :

Rapide

~1-2 secondes

Encodage le plus rapide avec une bonne qualité. Convient pour une itération rapide pendant le développement.

Moyen

~5-10 secondes

Qualité et vitesse équilibrées. Recommandé pour la plupart des cas d’utilisation et des versions de production.

Complet

~30-60 secondes

Compression de haute qualité avec recherche plus exhaustive. Bon pour les atouts des héros et les constructions finales.

exhaustif

~2-5 minutes

Qualité maximale avec un encodage très lent. À utiliser pour les actifs critiques où la qualité est primordiale.

Avantages de l'ASTC

Prise en charge de la plate-forme universelle

Pris en charge sur tous les GPU mobiles modernes (OpenGL ES 3.2+, Vulkan), remplaçant plusieurs formats spécifiques à la plate-forme par une solution unique.

Une flexibilité inégalée

14 tailles de bloc et plusieurs niveaux de qualité offrent plus de contrôle que tout autre format de compression, optimisant pour chaque type de texture.

Qualité supérieure

Les algorithmes de compression avancés produisent une meilleure qualité visuelle que ETC, PVRTC ou DXT à des débits comparables.

Fonctionnalités modernes

La prise en charge HDR, les textures 3D et l'encodage optimal pour les matériaux PBR rendent ASTC évolutif pour les techniques de rendu modernes.

ASTC par rapport aux autres formats

Comment ASTC se compare aux formats de compression de texture traditionnels :

contre ETC1/ETC2

ETC est l'ancien format d'Android avec une compression fixe 4:1 (ETC1) ou 8:1 (ETC2 RGBA).

Avantage ASTC: ASTC offre une meilleure qualité au même débit binaire et prend en charge davantage de taux de compression (0,89-8 bpp contre 4-8 bpp)

vs PVRTC

PVRTC est le format existant d'iOS avec une compression de 2 ou 4 bits par pixel.

Avantage ASTC: ASTC offre une meilleure qualité, plus de flexibilité et évite les artefacts de limite de bloc de PVRTC

contre DXT/BCn

DXT/BCn est la norme de bureau avec 4 à 8 bits par pixel pour différents formats.

Avantage ASTC: ASTC égale ou dépasse la qualité BCn tout en offrant des débits binaires inférieurs (jusqu'à 0,89 bpp) pour les mobiles

Comment utiliser le format ASTC

Utiliser ASTC dans vos projets est simple grâce à nos outils en ligne :

Encodage vers ASTC

  1. Téléchargez votre image source (PNG, JPG) - fonctionne avec toutes les dimensions
  2. Sélectionnez la taille du bloc en fonction de vos exigences de qualité/taille (6 × 6 est recommandé dans la plupart des cas)
  3. Choisir la qualité de l'encodage (moyen pour le développement, approfondi/exhaustif pour la production)
  4. Téléchargez le fichier .astc et intégrez-le à votre projet

Décoder les fichiers ASTC

  1. Téléchargez votre fichier .astc pour inspecter son contenu
  2. Afficher la texture décompressée avec les informations sur la taille et le format du bloc
  3. Exporter au format PNG pour édition ou vérification de la qualité

Meilleures pratiques

  • Utilisez des blocs 6×6 comme point de départ (3,56 bpp) – cela offre un excellent équilibre qualité/taille pour la plupart des textures
  • Choisissez des blocs plus petits (4 × 4, 5 × 5) pour les textures critiques comme les cartes normales ou le texte de l'interface utilisateur
  • Utilisez des blocs plus grands (8 × 8, 10 × 10, 12 × 12) pour les arrière-plans, les skybox ou les textures vues de loin
  • Testez différents niveaux de qualité – « moyen » est souvent suffisant, utilisez « approfondi » ou « exhaustif » uniquement pour les ressources de héros
  • Pensez à utiliser différentes tailles de bloc pour différents types de texture dans la même application afin d'optimiser l'utilisation de la mémoire.
  • Prévisualisez toujours les textures compressées sur les appareils cibles : la perception de la qualité varie en fonction du contenu et des conditions de visualisation.

Conclusion

ASTC représente le summum de la technologie de compression de texture, offrant une flexibilité, une qualité et une prise en charge de plate-forme inégalées. Sa nature adaptative permet aux développeurs d'affiner la compression pour chaque actif, optimisant ainsi l'équilibre entre fidélité visuelle et consommation de mémoire.

Que vous développiez pour des plates-formes mobiles, de bureau ou de console, ASTC fournit une solution évolutive qui s'adapte des appareils bas de gamme aux graphiques haut de gamme. Nos outils ASTC en ligne permettent d'expérimenter facilement différents paramètres et de trouver la configuration parfaite pour les besoins de votre projet.

Lectures complémentaires et références

Plongez en profondeur dans ASTC avec ces ressources faisant autorité :