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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 14 01:30:44 PDT 2013


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

           Summary: [WK2] TiledBackingStore: invisible GIFs are animated
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebKit API
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hnandor at inf.u-szeged.hu
                CC: zherczeg at webkit.org, noam at webkit.org


By using TiledBackingStore we prepaint things that aren't visible yet. So a gif is also repainted in every animation step regardless of its actual visibility. 
The main idea is add a new ability to TBS: it should know the animated gifs inside tiles.
A concept how to achieve this:

  1. don't paint an invisible gif

  * animation repainting stops (but the frame counter runs) *

  2. ask TBS to remember the gif's bounding box, as "pseudo-dirty" area
  3. TBS splits up this area between tiles, they store the appropriate rectangles

  * user moves the viewport onto the invisible gif *

  4. TBS traverse tiles that are visible
  5. every travered tile unites its dirty rect with stored "pseudo-dirty" areas that have intersection with viewport then forget it

  * gif is repainted (at the correct frame), because dirty rects are repainted, animation continues *

A "pseudo-dirty" area won't cause painting, just if it becames visible. We could use this solution not only with gifs but with any animated elements.

Any idea or comment to make it better is appreciated.

-- 
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