[Webkit-unassigned] [Bug 35998] New: Eliminate layer repainting

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 10 18:51:25 PST 2010


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

           Summary: Eliminate layer repainting
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: jamesr at chromium.org
                CC: hyatt at apple.com, simon.fraser at apple.com


<dhyatt>
but the other thing that could be done is we could simply eliminate layer
repainting
<dhyatt>
the history of incremental repainting is basically that most of the things on
the web that moved werei n layers
<dhyatt>
so when i was first doing it i hacked in the layer thing
<dhyatt>
but then we evolved a lot of the other repaint code
<dhyatt>
it's not really clear to me how much we even need the layer repainting code now
<dhyatt>
like just yanking it might be an interesting exercise
<dhyatt>
basically pre-layout-state a lot of repaint was wrong
<dhyatt>
so the layer absolute rect cache was a way of working around that problem
<dhyatt>
but now we have layout state
<dhyatt>
so really the layer system should just be scrapped
<dhyatt>
i.e., remove m_repaintRect
<dhyatt>
and m_outlineBox from RenderLayer
<dhyatt>
and just stop special casing layers when repainting
<dhyatt>
there would probably be bugs though from trying to do that :)
<smfr>
when I was fixing repainting I think I came to the same conclusion
<smfr>
repainting has been debugged into existence
<smfr>
no clear strategy
<dhyatt>
smfr: absolutely
<dhyatt>
although there are glimmerings of what a sound strategy might look like
<dhyatt>
LayoutState is very promising
<dhyatt>
and is working well for movement during layout
<dhyatt>
to cover those kinds of repaints
<smfr>
i think mitz would consider LayoutState to be a pretty big hack
<dhyatt>
yeah but i mean the strategy of tracking movement while you layout
<dhyatt>
you have to do that to get repainting right
<smfr>
right
<dhyatt>
i mean thats all the layer system is doing
<dhyatt>
it's just doing it more inefficiently by trying to cache absolute positions
<dhyatt>
layoutstate is definitely cleaner in that sense
<dhyatt>
since it's localized
<dhyatt>
and follows you down the render tree as you do the layout
<dhyatt>
but anyway eliminating the layer repaint system in favor of the layout system
would be a great simplificaiton

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