Estou usando o ImageMagick para transformar uma coleção de pngs em um único gif. Quero que esse gif faça um loop o mais rápido possível.
Esta é aproximadamente a saída que eu espero (cortesia da Wikipedia ):
Esta é a saída que realmente recebo:
No meu navegador (Firefox 17), o gif esperado é executado duas vezes mais rápido que o gif real. Isso me surpreende, porque especifiquei que cada quadro deveria ter 0 atraso.
Primeiro, criei 36 pngs explodindo o gif emprestado da Wikipedia:
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
Então eu coalesce
recombinava os pngs em um gif.
convert.exe -dispose none -delay 0 newton_%d.png[0-35] -coalesce output.gif
identify
confirma que cada quadro não tem atraso:
identify.exe -format "%T, " output.gif
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Isso é, de fato, menos atraso que o original:
identify.exe -format "%T, " newton.gif
5, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2,
O gif real tem menos atraso que o gif esperado. Então, por que o gif esperado é duas vezes mais rápido que o gif real?
-delay 2
.