[Webkit-unassigned] [Bug 174829] New: Async image decoding can be enabled till the page milestone DidHitRelevantRepaintedObjectsAreaThreshold is reached

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 25 12:37:44 PDT 2017


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

            Bug ID: 174829
           Summary: Async image decoding can be enabled till the page
                    milestone DidHitRelevantRepaintedObjectsAreaThreshold
                    is reached
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Images
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sabouhallawa at apple.com

After http://trac.webkit.org/changeset/219876, the async image decoding for large images is enabled only for the first time a tile is painted. This restriction can be relaxed while the page milestone 'DidHitRelevantRepaintedObjectsAreaThreshold' has not been reached. Reaching this milestone means the page has repainted enough contents to be readable for the first time.

To know whether the page has reached this milestone or not, every time a relevant object is repainted, its rectangle is added to the page relevant objects region. If the total areas of the non-intersected rectangles of this region becomes more than a threshold value, the page is marked as didReachLayoutMilestone(DidHitRelevantRepaintedObjectsAreaThreshold).

Page::didFinishLoad() cancels counting the renderers' rectangles as an optimization. The reason of this optimization is this milestone is usually used as an indication if the page has enough contents to be readable or not. If the page is completely loaded or the page painted enough contents for the first time to be readable, the UI can mark this page loaded. But this optimization can disable the async image decoding for most of the pages for the first time these pages are painted. We can overcome this problem if we continue counting the relevant renderers' rectangles for 50ms after the Page::didFinishLoad() fires.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170725/41335280/attachment.html>


More information about the webkit-unassigned mailing list