3

Can GIFs be optimized so that only the changed regions (pixels within certain rectangular bounds per frame) are rendered / calculated in the final filesize?

This is assuming that by default - each frames are fully included in an animated GIF (I'm guessing this is the case when exporting from Photoshop's "Save for Web"...)

Does such compression exists that would also remain compatible to playback in any browsers (like a normal animated GIF)?

enter image description here

2
  • 2
    If you pull apart the .gif frames for this one with a splitter (did a google search, found ezgif.com/split ) and ignore the optimizations you will see that, for example, one of the subframes is just i.stack.imgur.com/HAzGh.gif
    – user21583
    Jun 24, 2015 at 1:37
  • Well I feel dumb now! I did use GifCam though to make that demo GIF, which does mention on their website that frame differences is used. I'll use your suggested frame-splitting tool to see if the same can be said about Photoshop's Save-for-Web, thanks! Jun 24, 2015 at 10:21

2 Answers 2

5

I'm guessing this is the case

actually, no, that's not the case. Animated GIFs are optimized in exactly this way...each frame only contains the parts of the image that actually changed from the previous frame.

Wikipedia doesn't go deep into detail, but does mention it here:

Some economy of data is possible where a frame need only rewrite a portion of the pixels of the display, because the Image Descriptor can define a smaller rectangle to be rescanned instead of the whole image.

2

Yes, GIF files can be optimized in that way. This reduces the size of the individual frames, and thus the overall file size.

Your image manipulation application might offer this; for example the Animation Optimize filters for GIMP do that: http://docs.gimp.org/2.8/en/plug-in-optimize.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.