Sto usando ImageMagick per trasformare una raccolta di png in una singola gif. Voglio che questa gif esegua il loop il più rapidamente possibile.
Questo è approssimativamente l'output che mi aspetto (per gentile concessione di Wikipedia ):
Questo è l'output che effettivamente ottengo:
Sul mio browser (Firefox 17), la gif prevista funziona più del doppio della gif effettiva. Questo mi sorprende, perché ho specificato che ogni frame dovrebbe avere 0 delay.
Per prima cosa ho creato 36 png esplodendo la gif presa in prestito da Wikipedia:
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
Quindi coalesce
ricombinavo i png in una gif.
convert.exe -dispose none -delay 0 newton_%d.png[0-35] -coalesce output.gif
identify
conferma che ogni frame non ha alcun ritardo:
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,
Questo è, in effetti, un ritardo inferiore rispetto all'originale:
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,
La gif effettiva ha meno ritardi della gif prevista. Quindi perché la gif prevista è due volte più veloce della gif attuale?
-delay 2
.