Korzystam z ImageMagick, aby zmienić kolekcję pngs w pojedynczy gif. Chcę, aby ten gif był zapętlony tak szybko, jak to możliwe.
To mniej więcej wynik, którego oczekuję (dzięki Wikipedii ):
To jest wynik, który faktycznie otrzymuję:
W mojej przeglądarce (Firefox 17) oczekiwany gif działa ponad dwukrotnie szybciej niż rzeczywisty gif. To mnie zaskakuje, ponieważ określiłem, że każda ramka powinna mieć 0 opóźnienie.
Najpierw stworzyłem 36 pngów, eksplodując gif pożyczony z Wikipedii:
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
Potem coalesce
rekombinowałem pngs w jeden gif.
convert.exe -dispose none -delay 0 newton_%d.png[0-35] -coalesce output.gif
identify
potwierdza, że każda ramka nie ma opóźnienia:
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,
Jest to w rzeczywistości mniejsze opóźnienie niż oryginał:
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,
Rzeczywisty gif ma mniejsze opóźnienie niż oczekiwany gif. Dlaczego oczekiwany gif jest dwa razy szybszy niż rzeczywisty gif?
-delay 2
.