ImageMagickを使用して、pngのコレクションを単一のgifに変換しています。このgifをできるだけ早くループさせたい。
これはおおよそ予想される出力です(ウィキペディアの提供):
これは私が実際に得る出力です:
私のブラウザ(Firefox 17)では、予想されるgifは実際のgifの2倍以上の速度で実行されます。各フレームに0遅延を指定するように指定したため、これは驚きです。
最初に、ウィキペディアから借用したgifを分解して36個のpngを作成しました。
--caution: command generates 36 pngs
convert.exe newton.gif newton_%d.png
その後coalesce
、PNGを1つの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の2倍速いのでしょうか?
-delay 2
ます。