¿Qué es mejor usar hojas de animación o gifs? Una ventaja que los Gif tienen sobre las hojas de animación es que no tienes que pensar en que los fotogramas vayan demasiado rápido o demasiado lento debido a tu código y a la actualización en los tics adecuados.
¿Cuáles son las desventajas de usar Gifs y las ventajas que tienen las hojas de animación sobre Gifs?
animation
graphics-programming
spritesheet
Arek Żyłkowski
fuente
fuente
One advantage Gifs have over Animation Sheets is that you don't have to think about frames going too fast or too slow
¿Por qué eso? ¿En qué confías para hacer esa suposición? ¿Una biblioteca? La especificación del formato de archivo? Un archivo gif sigue siendo solo datos, aún necesita código para interpretarlo (renderizarlo a la velocidad correcta)Respuestas:
Inconvenientes de GIF:
Con un formato personalizado, todos estos elementos se resuelven muy rápidamente. Tiene mucho más control sobre el formato de imagen, la calidad, la transparencia, el acceso aleatorio y la compresión (incluidos los formatos compatibles con GPU por igual DXT). Aún mejor, puede priorizar las funciones que necesita.
La declaración anterior es engañosa. Sincronizar GIF fps con fps reales del juego no es muy diferente a sincronizar sprites personalizados de animación. En ambos casos, tiene exactamente la misma configuración: una lista de fotogramas, velocidad de fotogramas deseada y eventos de representación. No hay polvo mágico en GIF: de todos modos, tendrá que descomprimir el GIF en una hoja de sprites, lo que frustra el propósito.
Por supuesto, algunos motores de juegos pueden ocultar algunos de los problemas de GIF detrás de las cortinas, pero entonces, lo mismo se puede hacer con las hojas de sprites de una mejor manera.
Dicho esto, hay algunos pocos casos en los que los GIF podrían funcionar . Por ejemplo, GUI HTML / CSS, pero estos son bastante raros y requieren muchos recursos por sí mismos.
fuente
background-image
animación de posición CSS , donde la animación se ubica en una imagen grande, que luego se desplaza mediante desplazamientos.Para usar cualquier archivo de imagen como textura en un juego, debe haber una textura creada en la GPU y los datos de píxeles en el archivo de imagen deben cargarse en esa textura.
Las GPU no admiten muchas de las funciones que admiten los archivos de imagen en las CPU. No admiten la compresión JPG, no admiten la compresión PNG y, con referencia particular a los GIF, no admiten la animación automática .
Por lo tanto, incluso si usara un archivo GIF, de todos modos tendría que escribir su propia animación y código de tiempo. GIF no te da nada.
fuente
GIF tiene una paleta de colores limitada. (255) También debe implementar el análisis y la animación del GIF. Por lo tanto, no hay un avance en el tiempo ni en los aspectos técnicos del formato.
fuente