[Webkit-unassigned] [Bug 112327] [WK2] TiledBackingStore: invisible GIFs are animated

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 21 04:21:58 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=112327





--- Comment #6 from Allan Sandfeld Jensen <allan.jensen at digia.com>  2013-03-21 04:24:25 PST ---
(In reply to comment #5)
> I don't see any problem to extend it to anything. The idea is designed that way. First we start with GIF animations, as they are straitforward.
> 
> However, if we allow too many dirty regions, we end up having a fully dirty backbuffer, which defeats the purpose of the backing store. We could simply cache the visible rect and get the same effect, because any scroll operation would cause an invalidation.

My idea was more to do it using a different mechanic. We also have the problem with restarting the GIF animations after suspend. We currently solve that by doing a full repaint when resuming. We could save that full repaint if we had a better way of starting GIF animations.

If something other than draw would start the animation when it enters the visible rect, then we could even pause the animation again when the users scrolls them out. Currently they are started when first visible, but never stopped. 

Stopping an animation is simple you just return false in RenderObject::willRenderImage. It could simply check if the render object is in the visible rect. The reason it isn't done is because they are not restarted automatically. 

If something (in frameview for instance), could track all animated images, and start them when they intersect the viewport, it would solve not only your specific issue here but also allow many other improvements. Starting gif animations is not just broken for you, but broken everywhere ;)

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list