Я использую ImageMagick, чтобы превратить коллекцию PNG в один GIF. Я хочу, чтобы этот GIF зациклился как можно быстрее.
Это примерно то, что я ожидаю (любезно предоставлено Википедией ):
Это вывод, который я на самом деле получаю:
В моем браузере (Firefox 17) ожидаемый gif работает более чем в два раза быстрее, чем фактический gif. Это удивляет меня, потому что я указал, что каждый кадр должен иметь 0 задержек.
Сначала я создал 36 png, взорвав gif, заимствованный из Википедии:
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
Затем я использовал coalesce
рекомбинацию PNG в один GIF.
convert.exe -dispose none -delay 0 newton_%d.png[0-35] -coalesce output.gif
identify
подтверждает, что каждый кадр не имеет задержки:
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,
Это на самом деле меньше задержки, чем оригинал:
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,
Фактический GIF имеет меньшую задержку, чем ожидаемый GIF. Так почему же ожидаемый гиф в два раза быстрее, чем реальный гиф?
-delay 2
.