Estou usando o ImageMagick para transformar uma coleção de pngs em um único gif. Eu quero que esse gif faça o loop o mais rápido possível.
Esta é aproximadamente a saída esperada (cortesia de Wikipedia ):
Estaéasaídaquerealmenterecebo:
No meu navegador (Firefox 17), o gif esperado é executado mais de duas vezes mais rápido que o gif real. Isso me surpreende, porque eu especifiquei que cada quadro deveria ter 0 atraso.
Primeiro eu criei 36 pngs explodindo o gif emprestado da Wikipedia:
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
Então eu usei coalesce
para recombinar 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 é, na verdade, menos atraso do 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?