Mejore su juego con la orientación por formato de compresión de texturas

Escrito por Yafit Becher, administrador de programas y Dan Galpin promotor de desarrolladores

Play Asset Delivery descarga la mejor textura compatible para el dispositivo

Google Play Asset Delivery le permite publicar un & # 39; Paquete de aplicaciones de Android para Google Play que contiene todos los recursos que necesita tu juego. Ofrece múltiples modos de entrega, actualizaciones automáticas, compresión y parches delta, todos alojados de forma gratuita.

A partir de hoy, puede utilizar Google Play Asset Delivery para incluir texturas en varios formatos de compresión de texturas en su paquete de aplicaciones de Android y Google Play proporcionará automáticamente los recursos con el mejor formato de compresión de texturas compatible para cada dispositivo. Con la orientación del formato de compresión de textura, puede comenzar a usar ASTC para dispositivos que lo admitan, volviendo a ETC2 / ETC1 para dispositivos que no lo admiten. El formato Adaptive Scalable Texture Compression (ASTC) ofrece beneficios como un rendimiento de renderizado mejorado, tiempos de carga más rápidos, una huella de memoria más pequeña, una mejor duración de la batería y una mejor calidad visual. Incluso puede reducir drásticamente el tamaño de descarga y la huella en su dispositivo optimizando el equilibrio entre tamaño y calidad.

Versión de mayor ancho de banda de gran parte de esta información

Android App Bundle será el formato de publicación obligatorio para todos los juegos y aplicaciones nuevos a partir de agosto de 2021, lo que significa que La entrega de recursos de Google Play será necesaria para los juegos nuevos que requieran que Google Play aloje más de 150 MB de recursos. La orientación por formato de textura proporciona valor incluso para juegos más pequeños gracias a los beneficios de los últimos formatos de compresión de textura.

Compresión de textura

La compresión de textura es una forma de compresión de imagen con pérdida que permite que la GPU renderice directamente desde la textura comprimida utilizando bloques de silicio especializados, lo que reduce la memoria de textura y el ancho de banda de la memoria necesaria para renderizar la textura. A medida que las GPU se han vuelto más avanzadas, se han desarrollado formatos de compresión de texturas más sofisticados, pero no todas las GPU pueden aprovecharlos.

ASTC se lanzó en 2012 para brindar a los desarrolladores más flexibilidad en el negocio del tamaño de compresión sobre la calidad de la imagen. Comprime usando bloques de tamaño fijo de 128 bits, pero permite huellas de bloques variables de 4×4 (8 bits para texel) a 12×12 (.89 bits para texel).

Googleplex de Google Earth a 12×12 (.89 BPT), 6×5 (4.27 BPT), 4×4 (8 BPT)

Esto permite que casi cualquier tipo de textura se use en forma comprimida y permite que las texturas ocupen mucho menos espacio en RAM: hasta 36 veces menos que las texturas 2D sin comprimir dependiendo de la calidad. Incluso las texturas más pequeñas tardan menos en cargarse, lo que hace que los juegos sean más rápidos.

Ancho de banda de memoria

Debido a que la GPU tiene que realizar menos lecturas de la memoria de textura para renderizar la textura, el ancho de banda de memoria necesario para renderizar la escena se reduce, a menudo sustancialmente cuando tiene en cuenta los cachés de textura.

Formatos de compresión de texturas en Android

Los principales formatos de compresión en Android son ETC1, ETC2 y ASTC.

  imagen de compresión de textura

Los mejores formatos de compresión de textura con penetración de dispositivo a partir de septiembre de 2020

ETC1 es compatible con prácticamente todos los dispositivos. No tiene soporte de transparencia; los juegos pueden usar una segunda textura para el componente alfa. Tiene problemas de calidad con transiciones nítidas como bordes y texto.

ETC2 es compatible con todos los dispositivos que admiten GLES3. Admite más modos de transparencia y mejora la calidad que ETC1.

ASTC es un formato más nuevo que es más flexible; admite muchos tipos diferentes de texturas, lo que permite que casi cualquier textura del juego se beneficie de la compresión. Además, admite varios tamaños de bloque con diferentes relaciones de compresión asociadas. Usar este formato es una buena forma de optimizar el tamaño, la calidad de imagen y el rendimiento del juego.

  Imagen de Asphalt Xtreme Gameloft

Durante los experimentos con ASTC en Asphalt Xtreme Gameloft descubrió que podían reducir el tamaño de su juego hasta en un 30%

Al usar el formato de compresión de textura

Después implementó Google Play Asset Delivery en su juego, agregar la orientación del formato de textura es un paso incremental. Dentro de sus paquetes de recursos, asegúrese de tener un directorio que contenga solo sus texturas, como [assetpackname] / textures . Este directorio se utilizará para contener las texturas predeterminadas (probablemente en formato ETC1 o ETC2).

Luego, cree directorios de texturas adicionales con un sufijo que represente los formatos adicionales que desea admitir.

[assetpackname]  / texturas # tcf_etc2
[assetpackname] / texturas # tcf_astc

Finalmente, actualice el archivo de la aplicación build.gradle para habilitar la división de texturas en los paquetes de recursos:

  // En el archivo build.gradle de la aplicación:
android {
    ...
    paquete {
        estructura {
            enableSplit verdadero
        }
    }
} 

Google Play elimina los sufijos de textura para que el juego lea sus recursos del directorio predeterminado, independientemente de las texturas que se envíen al dispositivo.

Si está utilizando Unity, nuestro complemento Play Asset Delivery para Unity está listo para empaquetar aplicaciones de paquetes orientadas a texturas.

La ​​orientación por formato de compresión de texturas ya está disponible

Nos comprometemos a ayudarlo a servir el juego completo a través de Play con entrega dinámica personalizada y características como la orientación por formato de compresión de texturas. La documentación en d.android.com lo guiará a través del proceso de integración según el motor de juego que utilice y también tenemos listos los laboratorios de código para los juegos de C / C ++ y Unity. Tenemos más información sobre todos nuestros recursos para desarrolladores relacionados con juegos en d.android.com/games y nos mantenemos al día con Google Play Asset Delivery y otras herramientas para desarrolladores de juegos al suscribirse al boletín trimestral de juegos.



Compruebe también

El arsenal de Android: historias de usuarios

Puedes leerlo en portugués (https://github.com/welbert6/MaterialStoryView/edit/master/ReadmePT.md) Capturas de pantalla Introducción MaterialStoryView es una biblioteca de Android …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *