Я використовую 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. То чому ж очікуваний gif у два рази швидший, ніж власний GIF?
-delay 2
.