[Webkit-unassigned] [Bug 33520] Mapping from local to container coord space is O(N^2)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 5 14:11:50 PST 2010


--- Comment #22 from James Robinson <jamesr at chromium.org>  2010-02-05 14:11:48 PST ---
This patch makes RenderLayer::convertToLayerCoords() constant time in the
absence of transforms or position:fixed.  I didn't optimize transforms since
that requires keeping more than just an X/Y offset and is somewhat complicated.

I exclude position:fixed elements because fast-path scrolling updates X/Y
offsets without calling updateLayerPositions(), and convertToLayerCoords()
reads these offsets directly through localToAbsolute().  It would be possible
to reenable this if there was some sort of notification to the RenderLayer when
the offsets changed on the corresponding RenderObject.  That seemed a bit ugly.

This speeds up the position:relative test case by quite a bit (~20% on my MBP).
 The speedup is mostly due to speeding up calculation of the repaint bounds for
each layer.  With this patch applied the time needed to repaint the entire
frame goes from 55ms to 1ms.

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