Formato ASTC: la guía definitiva para la compresión de texturas
ASTC (Compresión de textura escalable adaptativa) es el formato de compresión de textura más avanzado y flexible disponible en la actualidad. Desarrollado por ARM y adoptado como estándar oficial de Khronos, ASTC proporciona un control sin precedentes sobre la calidad y las relaciones de compresión, lo que lo convierte en la opción ideal para los gráficos de escritorio y móviles modernos.
¿Qué es la ASTC?
ASTC es un formato de compresión de texturas basado en bloques con pérdida diseñado para reemplazar formatos más antiguos como ETC, PVRTC y DXT/BCn. Fue diseñado específicamente para proporcionar un formato único y unificado que funcione en todas las plataformas y admita una amplia gama de compensaciones entre calidad y tamaño.
A diferencia de los formatos anteriores con relaciones de compresión fijas, ASTC permite a los desarrolladores elegir entre 14 tamaños de bloques 2D diferentes (de 4×4 a 12×12) y múltiples niveles de calidad, ofreciendo un control detallado sobre el equilibrio entre la calidad visual y el consumo de memoria.
ASTC admite contenido LDR (bajo rango dinámico) y HDR (alto rango dinámico), de 1 a 4 canales de color y texturas 2D y 3D. Esta versatilidad lo hace adecuado para prácticamente cualquier tipo de textura en aplicaciones gráficas modernas.
Características clave de ASTC
Tamaños de bloques flexibles
14 tamaños de bloques 2D diferentes, desde 4×4 (8 bpp) hasta 12×12 (0,89 bpp), lo que permite un control preciso sobre la relación de compresión y la calidad.
Calidad ajustable
Múltiples niveles de calidad de codificación (rápida, media, exhaustiva, exhaustiva) para equilibrar el tiempo de codificación y la fidelidad visual
Soporte HDR
Soporte nativo para texturas de alto rango dinámico, esencial para los flujos de trabajo modernos de PBR (renderizado basado físicamente)
Hardware eficiente
Diseñado para una descompresión de hardware eficiente con un consumo de energía y un uso de ancho de banda de memoria mínimos
Tamaños de bloques ASTC explicados
El tamaño del bloque de ASTC determina la relación y la calidad de la compresión. Los bloques más pequeños conservan más detalles pero ofrecen menos compresión:
| Tamaño del bloque | Bits/píxel | Calidad | Mejor caso de uso |
|---|---|---|---|
| 4x4 | 8.00 | más alto | Texturas detalladas, mapas normales. |
| 5x5 | 5.12 | Alto | Texturas de color de alta calidad. |
| 6x6 | 3.56 | Medio-alto | Calidad/tamaño equilibrado (predeterminado recomendado) |
| 8x8 | 2.00 | Medio | Texturas de fondo, elementos de la interfaz de usuario. |
| 12x12 | 0.89 | Más bajo | Máxima compresión para texturas grandes. |
Niveles de calidad de codificación
Los codificadores ASTC admiten múltiples ajustes preestablecidos de calidad que afectan el tiempo de codificación y la calidad de salida:
Rápido
~1-2 segundosCodificación más rápida con buena calidad. Adecuado para iteraciones rápidas durante el desarrollo.
Medio
~5-10 segundosCalidad y velocidad equilibradas. Recomendado para la mayoría de los casos de uso y compilaciones de producción.
Exhaustivo
~30-60 segundosCompresión de alta calidad con búsqueda más exhaustiva. Bueno para activos de héroe y construcciones finales.
Exhaustivo
~2-5 minutosMáxima calidad con codificación muy lenta. Úselo para activos críticos donde la calidad es primordial.
Ventajas de ASTC
Soporte de plataforma universal
Compatible con todas las GPU móviles modernas (OpenGL ES 3.2+, Vulkan), reemplazando múltiples formatos específicos de plataforma con una única solución.
Flexibilidad inigualable
14 tamaños de bloque y múltiples niveles de calidad brindan más control que cualquier otro formato de compresión, optimizando para cada tipo de textura.
Calidad Superior
Los algoritmos de compresión avanzados producen una mejor calidad visual que ETC, PVRTC o DXT a velocidades de bits comparables.
Características modernas
La compatibilidad con HDR, las texturas 3D y la codificación óptima para materiales PBR hacen que ASTC esté preparado para el futuro para las técnicas de renderizado modernas.
ASTC frente a otros formatos
Cómo se compara ASTC con los formatos tradicionales de compresión de texturas:
frente a ETC1/ETC2
ETC es el formato heredado de Android con compresión fija 4:1 (ETC1) u 8:1 (ETC2 RGBA).
Ventaja de ASTC: ASTC ofrece mejor calidad con la misma tasa de bits y admite más relaciones de compresión (0,89-8 bpp frente a 4-8 bpp)
frente a PVRTC
PVRTC es el formato heredado de iOS con compresión de 2 o 4 bits por píxel.
Ventaja de ASTC: ASTC proporciona mejor calidad, más flexibilidad y evita los artefactos de límites de bloque de PVRTC
frente a DXT/BCn
DXT/BCn es el estándar de escritorio con 4-8 bits por píxel para diferentes formatos.
Ventaja de ASTC: ASTC iguala o supera la calidad de BCn al tiempo que ofrece tasas de bits más bajas (hasta 0,89 bpp) para dispositivos móviles
Cómo utilizar el formato ASTC
Usar ASTC en sus proyectos es sencillo con nuestras herramientas en línea:
Codificación a ASTC
- Cargue su imagen de origen (PNG, JPG): funciona con cualquier dimensión
- Seleccione el tamaño del bloque según sus requisitos de calidad/tamaño (se recomienda 6×6 en la mayoría de los casos)
- Elija la calidad de codificación (media para desarrollo, minuciosa/exhaustiva para producción)
- Descargue el archivo .astc e intégrelo en su proyecto
Decodificación de archivos ASTC
- Cargue su archivo .astc para inspeccionar su contenido
- Ver textura descomprimida con información de formato y tamaño de bloque
- Exportar a PNG para edición o verificación de calidad
Mejores prácticas
- Utilice bloques de 6×6 como punto de partida (3,56 bpp): proporciona un excelente equilibrio entre calidad y tamaño para la mayoría de las texturas.
- Elija bloques más pequeños (4×4, 5×5) para texturas con detalles críticos, como mapas normales o texto de interfaz de usuario.
- Utilice bloques más grandes (8 × 8, 10 × 10, 12 × 12) para fondos, palcos o texturas vistas desde la distancia.
- Pruebe diferentes niveles de calidad: "medio" suele ser suficiente, utilice "exhaustivo" o "exhaustivo" sólo para los recursos de los héroes.
- Considere usar diferentes tamaños de bloque para diferentes tipos de textura en la misma aplicación para optimizar el uso de la memoria.
- Obtenga siempre una vista previa de las texturas comprimidas en los dispositivos de destino: la percepción de la calidad varía según el contenido y las condiciones de visualización.
Conclusión
ASTC representa el pináculo de la tecnología de compresión de texturas y ofrece flexibilidad, calidad y soporte de plataforma incomparables. Su naturaleza adaptativa permite a los desarrolladores ajustar la compresión para cada activo, optimizando el equilibrio entre la fidelidad visual y el consumo de memoria.
Ya sea que esté desarrollando para plataformas móviles, de escritorio o de consola, ASTC proporciona una solución preparada para el futuro que escala desde dispositivos de gama baja hasta gráficos de alta gama. Nuestras herramientas ASTC en línea facilitan experimentar con diferentes configuraciones y encontrar la configuración perfecta para las necesidades de su proyecto.
Lecturas adicionales y referencias
Profundice en ASTC con estos recursos autorizados:
- Especificación ASTC (Khronos) - Especificación oficial del formato ASTC y referencia técnica.
- Códec de evaluación ARM ASTC - Implementación y documentación del codificador de referencia de ARM
- Compresión de textura escalable adaptativa (Wikipedia) - Descripción general completa de la tecnología y la adopción de ASTC
- ASTC: la máxima compresión de texturas - Documentación para desarrolladores de ARM sobre las mejores prácticas de ASTC
- Guía de compresión Unity ASTC - Guía práctica para usar ASTC en motores de juegos