On 10/11/12 4:11 PM, James Robinson wrote:
> The problem is that this option requires different behavior for
> requestAnimationFrame and declarative animation events, as far as I
> can tell.
>
> That's correct. It's a bit of an issue for us as well - I believe we
> use a backup timer to tick declarative animation events when RAF isn't
> going which is a bit ugly but far from the end of the world.
It's not the end of the world for the _implementation_.
It's a significant complication in the programming model for _authors_.
For what it's worth, all Gecko does is juse a backup timer ... and both
tick declarative animations _and_ RAF off it in background tabs.
> Note that the difference in efficiency between "never fire" and
> "fire many seconds apart" is very very low in practice, so I don't
> think the efficiency argument is particularly strong.
>
> I'm not so certain about this - firing every now and again means
> potentially paging in all the resources needed for a frame.
OK, but how is that different from the declarative animation event case?
> For instance, if a canvas animation with lots of image resources is driven
> from RAF firing it in the backgorund even rarely means making all of
> those image resources available which means potentially re-decoding and
> re-uploading them to the GPU and evicting resources that the visible
> tabs want to use. Same goes for font data or any other cached
> resources. If you assume a user has lots of tabs, this adds up quickly.
So the Firefox behavior here is that background tabs tick at 1/2^(n-1)
Hz, where n is the number of ticks since the tab went into the background.
It doesn't take very much time before the ticks are quite rare.
> That would be best! We should bring this up with with the WGs that are
> responsible for animation events, CSS mainly, and see what they think.
OK, so how about we do that? This has come up over and over, and every
time people say we should do that and no one ever does.
This is the sort of thing where the WG chair would normally bring the
issue to the other working group, as I understand... I mean, I can
obviously bring it up personally, but I think it's a better idea if it's
an official statement from this working group, not personal comments.
-Boris