0

i've been using image magick for a while. and i've had it it just flood my ram too much for my use case which is usually just making animated gifs from a sequence of pngs or adjust the delay of an existing gif into another gif

i saw this alternative called graphics magick that's supposedly works the same way except its more optimized but the -delay flag doesn't seem to be doing anything no matter what number i put in there. from the docs it says its supposed to be 1/100 of a second so for a 60 fps gif it should be 1.6 which is the same for imagemagick. but it doesn't work it seems to just the use the default delay which is too long.

i'm on arch linux 6.0.6-arch1-1 and using the 1.3.38 version of graphicsmagick

here is the gif i'm trying to animate with a sequence of pngs with this script

/usr/bin/gm convert -delay 0.016 -loop 0 -dispose previous *png ../orc_barbers_with_graphics_magick.gif

here is the output

and this is the code i ran with image magick basically the same thing (thisone is the correct frame delay)

convert -delay 0.016 -loop 0 -dispose previous *png ../orc_barbers_2.gif

here is the output

the problem with me doing it this way is this took almost 10 mins to make while convert taking up 13 of my 16 gigs of ram

  • Delays are 2 byte unsigned integers and the unit is 100ths of a second. You can use only -delay 1 (100 fps) or -delay 2 (50 fps). – Alex Alex Nov 04 '22 at 05:55
  • Yes, actually your supposedly correct image is encoded with a 20ms frame delay. – xenoid Nov 04 '22 at 09:04
  • delays are in integer tics (1/100 sec). You cannot have too small a delay. The monitors cannot keep up. – fmw42 Nov 04 '22 at 19:18

0 Answers0