Basis Universal: la guía completa para la compresión de textura universal
Basis Universal es un revolucionario sistema de compresión de texturas que resuelve uno de los mayores desafíos en el desarrollo de gráficos multiplataforma: administrar diferentes formatos de compresión de texturas en varias plataformas y dispositivos. Desarrollado por Binomial LLC y ahora mantenido como un proyecto de código abierto, Basis Universal proporciona un formato de archivo de textura comprimido único que se puede transcodificar en tiempo de ejecución a cualquier formato de compresión GPU nativo.
¿Qué es la Base Universal?
Basis Universal es un sistema de compresión de texturas GPU 'supercomprimido' que produce archivos de textura intermedios altamente comprimidos. Estos archivos se pueden transcodificar rápidamente en tiempo de ejecución a cualquier formato comprimido por GPU que admita la plataforma de destino, incluidos ETC1, ETC2, ASTC, BC1-7 y PVRTC.
La innovación clave de Basis Universal es su capacidad para almacenar datos de textura en un formato independiente de la plataforma y luego transcodificarlos al formato nativo óptimo para el dispositivo de destino. Esto significa que los desarrolladores pueden enviar un único archivo de textura que funcione en todas partes, desde teléfonos móviles hasta computadoras de escritorio y consolas de juegos.
Basis Universal admite dos modos de compresión principales: ETC1S (para máxima compresión) y UASTC (para máxima calidad). Ambos modos proporcionan excelentes relaciones de compresión al tiempo que mantienen una calidad visual adecuada para las aplicaciones gráficas modernas.
Características clave de Basis Universal
Transcodificación universal
Un único archivo comprimido se puede transcodificar a cualquier formato de GPU nativo (ETC1/2, ASTC, BC1-7, PVRTC) en tiempo de ejecución.
Alta relación de compresión
El modo ETC1S proporciona relaciones de compresión excepcionales (hasta 10:1 o mejor) con buena calidad visual.
Modo UASTC
La compresión UASTC (Universal ASTC) proporciona una calidad competitiva con los formatos BC7 y ASTC
Transcodificación rápida
La transcodificación en tiempo de ejecución es extremadamente rápida (normalmente milisegundos por textura) con una sobrecarga de memoria mínima
Modos de compresión universales básicos
Basis Universal ofrece dos modos de compresión distintos, cada uno optimizado para diferentes casos de uso:
Modo ETC1S
Proporciona relaciones de compresión muy altas, normalmente de 6:1 a 10:1 con buena calidad visual. Ideal para la mayoría de texturas difusas, elementos de interfaz de usuario y contenido donde el tamaño del archivo es más importante que la fidelidad visual perfecta.
Ideal para: aplicaciones móviles, contenido web, texturas difusas, elementos de interfaz de usuario
Modo UASTC
Proporciona una calidad visual superior comparable o mejor que BC7 y ASTC, con relaciones de compresión de 3:1 a 4:1. Ideal para texturas con alto nivel de detalle, mapas normales y contenido donde la calidad visual es primordial.
Ideal para: mapas normales, texturas detalladas, recursos de héroes, aplicaciones de PC/consola
Flujo de trabajo universal básico
El flujo de trabajo típico de Basis Universal implica tres etapas principales:
1. Compresión de fuente
Comprima texturas de origen (PNG, TGA, etc.) en archivos .basis usando el modo ETC1S o UASTC. Normalmente, esto se hace durante el proceso de creación de activos.
2. Transcodificación en tiempo de ejecución
Al iniciar o cargar la aplicación, transcodifique los archivos .basis al formato nativo óptimo para la plataforma de destino (ETC2 para Android, ASTC para iOS, BC7 para Windows, etc.).
3. Representación por GPU
Utilice los datos de textura transcodificados directamente con el hardware de compresión de texturas nativo de la GPU, lo que garantiza un rendimiento óptimo.
Ventajas de la base universal
Canalización de activos únicos
Elimine la necesidad de mantener múltiples versiones de formatos de textura para diferentes plataformas.
Tamaño de paquete reducido
Paquetes de aplicaciones significativamente más pequeños en comparación con el envío de múltiples variantes de formato.
Uso de menor ancho de banda
Descargas más rápidas y uso reducido de datos, especialmente importante para aplicaciones web y móviles
Flexibilidad de plataforma
Apunte fácilmente a nuevas plataformas sin volver a comprimir las texturas de origen
Limitaciones y consideraciones
Transcodificación general
Requiere transcodificación en tiempo de ejecución, lo que agrega un pequeño costo de rendimiento durante la carga de texturas.
Pérdida de compresión
Como toda compresión con pérdida, hay cierta pérdida de calidad en comparación con las texturas sin comprimir.
Requisitos de memoria
La transcodificación requiere memoria temporal para los datos comprimidos y transcodificados
Complejidad de la integración
Requiere integración de bibliotecas Basis Universal y código de transcodificación en tiempo de ejecución
Casos de uso ideales
Aplicaciones WebGL
Perfecto para aplicaciones 3D basadas en web donde la implementación de un solo archivo y la carga rápida son fundamentales
Móvil multiplataforma
Ideal para aplicaciones móviles dirigidas tanto a Android como a iOS con un único canal de textura
Juegos Web3 y Blockchain
Excelente para juegos basados en blockchain donde el tamaño de los activos y la velocidad de transferencia son cruciales
Juegos multiplataforma
Simplifica la gestión de activos para juegos dirigidos a múltiples plataformas y tiendas de aplicaciones.
Base universal frente a otros formatos
Cómo se compara Basis Universal con los enfoques tradicionales:
Enfoque tradicional
Envíe múltiples variantes de formato (ETC2 para Android, ASTC para iOS, BC7 para Windows) → Tamaño de paquete más grande, canalización de activos compleja
Enfoque universal básico
Envíe archivos .basis únicos → Transcodificación en tiempo de ejecución al formato óptimo → Paquetes más pequeños, canalización más simple
Almacenamiento: reducción del 50 al 80 % en los requisitos de almacenamiento de texturas
Ancho de banda: reducción del 50-90 % en el ancho de banda de descarga
Tiempo de compilación: compilaciones más rápidas con un solo paso de compresión
Calidad: Calidad visual comparable a los formatos nativos
Mejores prácticas
- Utilice el modo ETC1S para la mayoría de texturas difusas y elementos de interfaz de usuario donde el tamaño del archivo es importante
- Utilice el modo UASTC para mapas normales, texturas detalladas y recursos de héroes donde la calidad visual es fundamental.
- Transcodifique texturas durante la carga de activos en lugar de al inicio de la aplicación para evitar el bloqueo.
- Considere los formatos de compresión de la plataforma de destino al elegir entre los modos ETC1S y UASTC
- Pruebe texturas transcodificadas en plataformas de destino para garantizar que la calidad visual cumpla con los requisitos
- Guarde en caché las texturas transcodificadas cuando sea posible para evitar la transcodificación repetida de los mismos recursos.
Conclusión
Basis Universal representa un avance significativo en la tecnología de compresión de texturas, resolviendo el problema de larga data de administrar múltiples formatos de textura en diferentes plataformas. Su enfoque de transcodificación universal proporciona beneficios tanto técnicos como comerciales, desde tamaños de paquete reducidos hasta canales de activos simplificados.
Para aplicaciones multiplataforma, experiencias basadas en web y escenarios donde el tamaño de descarga y el ancho de banda son críticos, Basis Universal ofrece una solución atractiva que no compromete la calidad visual ni el rendimiento. A medida que la industria gráfica continúa avanzando hacia el desarrollo multiplataforma, herramientas como Basis Universal serán cada vez más esenciales para una gestión eficiente de las texturas.
Lecturas y recursos adicionales
Amplíe sus conocimientos con estos recursos autorizados:
- Repositorio universal básico de GitHub - Repositorio oficial de Basis Universal con código fuente y documentación.
- Documentación universal básica - Documentación completa y ejemplos de uso.
- Transcodificadores universales Khronos Basis - Biblioteca de transcodificación mantenida por Khronos para plataformas web y móviles
- Documento técnico universal básico - Artículo de investigación original que describe el algoritmo de compresión Basis Universal
- Guía de compresión de texturas WebGL - La guía de Google para la compresión de texturas en aplicaciones web