15 puntos por xguru 2022-02-23 | Aún no hay comentarios. | Compartir por WhatsApp
  • Para hacer que la velocidad de un GIF animado sea lo más rápida posible, hay que establecer el "Frame Delay" en "20 ms" y no en "10 ms". ¿Por qué?
  • La animación empezó a ser compatible desde GIF 89a
    • Se puede configurar un retraso para cada fotograma
    • El tiempo de espera antes de pasar al siguiente fotograma se expresa en centésimas de segundo (unidades de 10 ms)
    • Se puede configurar desde 0 hasta 0xffff (un retraso de unos 10 minutos)
  • ¿Qué pasa si se establece en 0? La especificación no da una respuesta exacta, pero sí deja claras dos cosas
    • Al decodificar un GIF, cada fotograma debe procesarse sin retraso
    • El valor de retraso solo se usa cuando no es 0
    • Es decir, si se establece en 0, debería "combinarse con el fotograma anterior y tratarse como una imagen estática"
      • Así se podrían incluir fotogramas que solo guarden las partes en movimiento para reducir el tamaño
  • El problema es que nadie admite un retraso de 0
    → La mayoría de los programas que soportan GIF fijan cualquier valor de 2 (20 ms) o menos a uno mayor
    • QT se alinea con IE/FF: (delay < 2 ? 10: delay) * 10
    • Chrome se alinea con FF: para evitar que los anuncios parpadeantes usen 0, los valores establecidos en 10 ms o menos se cambian a 100 ms
    • FF se alinea con IE y Opera: en los casos de 0~10, lo ajusta a 100 ms
    • IE 5 se alineó con Netscape porque era lento: si es 50 o menos, lo fija en 100
  • El punto en común de esos códigos es que no ajustan 0~1 a 2, sino a 10 (100 ms)
    • Es decir, 10 equivale a 100, y 20 es lo más rápido

Conclusión

  • Nadie está renderizando según la especificación de GIF, y parece que deberían hacerlo (IMO)
  • Por ahora, para obtener el GIF más rápido, hay que usar 2 (20 ms) en lugar de 1 (10 ms)
  • Si todo el mundo implementara correctamente la especificación de GIF
    • Sería posible soportar GIF con retraso de 10 ms
    • Un solo fotograma de una animación GIF podría admitir más de 256 colores
    • Se eliminaría la confusión de que usar un valor de retraso pequeño lo vuelve más lento
    • Se podrían crear GIF con solo el área actualizada por fotograma para mejorar la compresión

Aún no hay comentarios.

Aún no hay comentarios.