Algoritmo de hoja de sprites óptimo

Una cosa que he notado sobre las hojas de sprites es que su tamaño de archivo no es del todo consistente. Cuando tiene imágenes individuales, suponiendo que estén comprimidas correctamente, su tamaño de archivo no cambiará. Pero con las hojas de sprites, el tamaño del archivo de la imagen puede variar mucho dependiendo de cómo se organicen las imágenes.

Como ejemplo, creé esta hoja de sprites:
Ficha http://pokebattlers.net/img/misc/forumstars.png Probé horizontal, probé 2x3 en retrato y paisaje, probé todo 6! = 720 arreglos posibles para las imágenes, y lo que encontré fue que el orden de las estrellas no hizo ninguna diferencia (realmente no esperaba que lo hiciera, dado que la imagen está indexada y todo lo que cambió fue la reorganización de la paleta), pero el el diseño vertical produjo un archivo más pequeño que cualquier otro.

¿Hay algún algoritmo que pueda ayudar a determinar la disposición óptima de las imágenes en una hoja de sprites, o es solo un caso de fuerza bruta "pruebe todo y encuentre el más pequeño"?

Además, ¿por qué una alineación vertical produce un archivo más pequeño que uno horizontal en este y en los pocos otros casos que he probado?

preguntado el 28 de julio de 12 a las 17:07

La imagen en esta pregunta está rota ahora. :/ -

Lo siento, fusioné la imagen en una hoja de sprite más grande y la eliminé. La imagen era solo seis estrellas de diferentes colores, nada especial. -

1 Respuestas

No conozco el algoritmo, pero puedo compartir mi experiencia:

  • Sprite verticalmente! Horizontalmente es más grande en tamaño de archivo
  • Agrupe los colores (aumentará el aplastamiento y la compresión)
  • use un fondo blanco (más pequeño en tamaño de archivo que un fondo transparente)
  • elimine los colores innecesarios de la paleta de colores de las imágenes

HTH

Gekkstah

Respondido 24 ago 12, 22:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.