NEW 35998
Eliminate repainting via RenderLayers
https://bugs.webkit.org/show_bug.cgi?id=35998
Summary Eliminate repainting via RenderLayers
James Robinson
Reported 2010-03-10 18:51:25 PST
<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
Attachments
Note You need to log in before you can comment on or make changes to this bug.