[x]

deviantART

 
[x]  

Notices



More Customization News

Smile - 微笑 - Sourire - Lächeln - Son

~Humanization:iconHumanization: reports, 11h 13m ago
Well, Summer is upon us and it calls for celebration! As difficult as life may be sometimes and as much troubles as there are in the world, we need to remember to smile and stop and remember to take a look at those little things in life we might miss but so often bring smiles to our faces =D

Chance to Shine - Volume VI

`LeoLeonardo:iconLeoLeonardo: reports, 1d 19h ago
Newest issue of the emoticon newsletter, Chance to Shine!

10 Awesome Free Avatar Creators

=FreeAvatarProject:iconFreeAvatarProject: reports, 2d 23h ago
Here are 10 free avatar artists that you may not know. Find free avatars to use at dA and meet some talented iconists!

Unexpected Greatness!

^Grandchild:iconGrandchild: reports, July 7
Three of the currently most active members of the AVS visualization community released big packs during the last week. And a classic reappeared on the scene.
Time for a feature I think!

So i herd u liek emotes?? - Volume 39

^Synfull:iconSynfull: reports, July 4
39th volume in a weekly series focused on promoting emotes and emoticonists from the dA community

So i herd u liek emotes?? - Volume 38

^Synfull:iconSynfull: reports, June 28
38th volume in a weekly series focused on promoting emotes and emoticonists from the dA community

Chance to Shine - Volume V

`LeoLeonardo:iconLeoLeonardo: reports, June 23
Issue number 5 of the Emoticon newsletter: Chance to Shine

This is Dead !

~Mis-kin:iconMis-kin: reports, June 20
About Dead-Man23 ...

So i herd u liek emotes?? - Volume 37

^Synfull:iconSynfull: reports, June 21
37th volume in a weekly series focused on promoting emotes and emoticonists from the dA community

The Future Is Upon Us - Pixel Art/Emoticon Contest

=Sinister-Starfeesh:iconSinister-Starfeesh: reports, June 16
Pixel Art/Emoticonist Contest

The idea of the contest is to create somthing futuristic. This can be your idea of futuristic, or the idea everyone has planted in their head that we will be flying in cars, aliens and dodgey space meals.

Customization News This Week

Chance to Shine - Volume VI

`LeoLeonardo:iconLeoLeonardo: reports, 1d 19h ago
Newest issue of the emoticon newsletter, Chance to Shine!

Smile - 微笑 - Sourire - Lächeln - Son

~Humanization:iconHumanization: reports, 11h 13m ago
Well, Summer is upon us and it calls for celebration! As difficult as life may be sometimes and as much troubles as there are in the world, we need to remember to smile and stop and remember to take a look at those little things in life we might miss but so often bring smiles to our faces =D

10 Awesome Free Avatar Creators

=FreeAvatarProject:iconFreeAvatarProject: reports, 2d 23h ago
Here are 10 free avatar artists that you may not know. Find free avatars to use at dA and meet some talented iconists!

Unexpected Greatness!

^Grandchild:iconGrandchild: reports, July 7
Three of the currently most active members of the AVS visualization community released big packs during the last week. And a classic reappeared on the scene.
Time for a feature I think!

All is Well With Emotes - Volume 1?

~Alliswellwithme:iconAlliswellwithme: reports, 2d 17m ago
The First (if any more come anyways) of All is well with Emotes News thingies XD

Helveticons

=eos8:iconeos8: reports, 1d 10h ago
Helviticons by Maximilian Larsson

Free Dragon Icons!

=FallenZephyr:iconFallenZephyr: reports, July 7
For anyone who needs an icon!

A Question, tell the truth now.

~trinitymaster3:icontrinitymaster3: reports, July 7
A question about which characters of mine that people like the most. I have a list here.

Customization


Frame Delay Times for Animated GIFs

~humpy77:iconhumpy77: reports, March 29, 2007
Please note that this article is not complete as it cannot contain the required images. Please visit the associated journal to see the required images.

The Problem


You've had the idea, you've built your emotes, you've put them all together in an animated GIF which you upload for the world to enjoy. The comments start coming in; "Sweet", "Cute", Love it", "Why is it so slow?". All well and good, apart from that last one.

So you take a closer look and either:
a) you scratch your head and think "it wasn't that slow when I built it"
b) you think it looks fine but other people are still saying it's slow

So what's the problem? The answer is Stupid Browsers. Simple as that. Our browsers are just rubbish at rendering fast animated GIFs.

The Theory


An animated GIF file consists of a number of image blocks, each with it's own control block. The control block includes how long (in 1/100s of a second) the image should be displayed before moving on to the next image.

The GIF Programming Reference[1] has this to say about the frame delay:
Process each graphic in the Data Stream in sequence, without delays other than those specified in the control information.

and
Delay Time - If not 0, this field specifies the number of hundredths (1/100) of a second to wait before continuing with the processing of the Data Stream. The clock starts ticking immediately after the graphic is rendered.

All very simple, the rendering engine should simply wait for the specified delay before moving on to the next image. No exceptions! A delay of 0 should be interpreted as instantly displaying the next image and is of no practical use for creating animations. Some programs, JASC Animation Shop for example, will not allow a 0 delay. As each frame in a GIF can have it's own local colour map, some programs have even used the 0 delay to create static GIFs with more that 265 colours[2].

Imagine a series of animated GIFs that all show a progress bar. These GIFs are identical except for the frame delay. The first has a delay of 1/100 seconds, the next has 2/100, the next has 3/100, etc. When the first bar has finished the second should be half finished, the next only one third finished, etc. If you took a screenshot you should see this:

Sorry, image not available in this news article

The Truth


So that's the theory. After a number of people had mentioned problems with their animations being slower than they had build them, I decided to investigate and put together a test page containing the GIF progress bars described above. I then loaded this test page into a number of browser/OS combinations to see what happened. What I found was a remarkable example of piss poor programming.

  • Mozilla's rendering engine seems to have taken the line that, as screens cannot refresh faster than 90Hz, no one will ever use a delay of 1/100. So a 1/100 delay is changed to 10/100. Not what you asked for. Mozilla's answer to the 0 delay is to ignore the specification and use a delay of 10/100.

  • Internet Explorer is even worse. Any delay less than 6/100 is changed to 10/100. This is probably based upon the assumption that if 15fps is good enough for cartoons then it's good enough for animated GIFs.

  • Opera is the worst of all. Every delay below 10/100 is displayed at 10/100.

  • Safari is the best as far as delay cropping is concerned. It does crop below 3/100, but it crops to 3/100, not back to 10/100.


The figures below show screenshots of the test page displayed by various browsers on different platforms (this test page is available here - you may find this test works best if you download it and run it locally).

Sorry, images not available in this news article

Conclusions and Recommendations


If all the browsers followed Safari's example and just stopped making the delays faster then there would not be too much of a problem. If you ask Safari for a delay of 1/100 seconds and it delivers 3/100 then the animation might not be as fast as you wanted, but it will probably be fast enough. However, asking Internet Explorer and the Mozilla browsers for 1/100 and getting 10/100 is a significant problem.

So what delays should you use when animating GIFs? Well never 1/100 or 0; imagine what would happen if one of the popular browsers decided to honour the 0 delay! As over 2/3 of visitors[3] are using Internet Explorer I'd suggest not dropping below 6/100. If you really need to go faster than that (and I have seen a few emotes that were stunning at 2/100 in Firefox) then make it clear on your description what browsers it is suitable for. If you're feeling generous then you could always provide an alternative IE version.

Summary


Never, never, never use delays of 0 or 1. Avoid 2 - 5 if possible.

References


1. GRAPHICS INTERCHANGE FORMAT Version 89a http://www.w3.org/Graphics/GIF/spec-gif89a.txt
2. Wikipedia's GIF entry describes True Colour GIFs http://en.wikipedia.org/wiki/Gif
3. Browser share data provided by =leSicilien

Devious Comments

love 0 0 joy 1 1 wow 0 0 mad 0 0 sad 0 0 fear 0 0 neutral 0 0

=R-T-P:iconR-T-P: Mar 29, 2007, 1:04:31 PM
Thank you so much for taking the time to solve the mystery. :blowkiss: I always had problem with my animations showing on browsers but on the phone they were playing pretty well so I was getting crazy :aww:

--
SE Phones Themer
One comment is like a thousand :+fav:
=R-T-P:iconR-T-P: Mar 29, 2007, 1:06:17 PM
Thank you so much for taking the time to solve he mystery :blowkiss: I was always having problems showing my animations on the web although they were playing pretty well on the phone :aww:

--
SE Phones Themer
One comment is like a thousand :+fav:
~Buntovnik86:iconBuntovnik86: Mar 29, 2007, 1:41:29 PM
Great article, I can say that :thumbsup:. I don't do emotes, but this was a really interesting read. Thank you.

--
LIES
`parliamentFunk:iconparliamentFunk: Mar 29, 2007, 2:43:11 PM
Good job, Steve! :aww:

--
DISCLAIMER: Above statements may be entirely false.

Big boobs are just a distraction from the floor show.
^Cedarseed:iconCedarseed: Mar 29, 2007, 9:21:44 PM
Very interesting, but how does that translate to making gifs with ImageReady, where delays are expressed as "no delay", 0.1 sec, 0.2 sec and up to entire seconds?

--
Designer, illustrator, comic author, martial artist, globetrotter, tutorial queen...
Tutorial collection: [link]
`ClaireJones:iconClaireJones: Mar 29, 2007, 11:03:39 PM
Well that explains a lot. I'll have to take another look at my animations.

Good investigative work. ;)

--
Militant Agnostic: I don't know and you don't either

You better watch who you're calling a child, Lois, because if I'm a child you know what that makes you? A pedophile, and I'll be damned if I'm going to stand here and be lectured by a pervert.
`bellchild:iconbellchild: Mar 30, 2007, 12:20:33 AM
Awesome, informative article. I was actually wondering about this myself recently. :) Good stuff.

--
:sing: ah vloe ju, ju vloe meh, we ah happeh fah-mi-leh!
~humpy77:iconhumpy77: Mar 30, 2007, 12:23:01 AM
"No delay" would be 0, 0.1 is 10/100 and 0.2 is 20/100.

So the rule would be;
Never, never, never "no delay" or 0.01. Avoid 0.02 - 0.05 if possible

--
When I have nothing to say, my lips are sealed.
^Cedarseed:iconCedarseed: Mar 30, 2007, 1:13:19 AM
Oh, I see. I don't see how one can avoid it if the animation requires it though, except by changing the animation concept altogether. I mean, for instance: if I have an animation where 10/100 or even 6/100 is too slow for my purposes, then clearly I have to either take my chances with something lower or forget about it. Unless I'm missing something?

--
Designer, illustrator, comic author, martial artist, globetrotter, tutorial queen...
Tutorial collection: [link]
~pjtierney2003:iconpjtierney2003: Mar 30, 2007, 1:15:26 AM
So just set delays of 6 and you should be sorted then?

--
:bump::bump::bump::bump::bump:
:bump:[link]My Gallery[link] :bump:
:bump::bump::bump::bump::bump:
 

Site Map