[webkit-reviews] review requested: [Bug 33150] Do not render the full frame when there is some elements with fixed positioning : [Attachment 45892] Repaint only the invalidated area after scrolling

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 5 08:24:20 PST 2010


Benjamin Poulain <benjamin.poulain at nokia.com> has asked  for review:
Bug 33150: Do not render the full frame when there is some elements with fixed
positioning
https://bugs.webkit.org/show_bug.cgi?id=33150

Attachment 45892: Repaint only the invalidated area after scrolling
https://bugs.webkit.org/attachment.cgi?id=45892&action=review

------- Additional Comments from Benjamin Poulain <benjamin.poulain at nokia.com>
(In reply to comment #2)
> You should remove the fixed objects from the hash on destructor.

Absolutely. I have done that in this patch.

> You should figure out if the area to update ends up covering most of the view

> and just do full repaint in that case (avoiding the unnecessary copy scroll
> blit and performance regression).

I this version, I have used a simple heuristic: "more than 4 fixed elements ->
slow path".
I have used the same kind of rule for the backingstore of Qt, but I had
benchmark to justify the number. I'll wait for the point of Dave Hyatt on this
limit.

> It might be worthwhile the track the covered region as rectangles (like
> QRegion) and update when positioned objects move. This would avoid having to
> iterate over all fixed objects.

I have looked at that and this can get difficult to update (for example when a
child with absolute positioning is manipulated by javascript, updating the
rects can be cumbersome).


More information about the webkit-reviews mailing list