DescriptionRemove the SVG paint culling optimization
This patch removes the paint culling optimization added in [1] which is
not as useful as it once was. We now use Skia which culls internally
and the overhead of checking for culling in SVG makes this optimization
a small loss in terms of performance on our microbenchmarks [2].
The primary change in this patch is to remove the updating and checking
of PaintInfo.rect within the SVG painting code. For ForeignObject and
Text, an adjustment of the PaintInfo rect is required to avoid clipping
in the text painting code. This adjustment is implemented by caching
the paint invalidation transform. For filters in SVG, this patch
replaces the PaintInfo rect adjustment with an infinite rect.
[1] http://trac.webkit.org/changeset/52900
[2] http://pr.gg/svgperfresults.png
BUG=442008
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=187567
Patch Set 1 #Patch Set 2 : Update PaintInfo rect when leaving SVG #
Total comments: 14
Patch Set 3 : Cache from the paint invalidation phase #Patch Set 4 : Remove isInvertible check #Patch Set 5 : Fix a couple regressions #Patch Set 6 : Remove spurious lines #
Total comments: 7
Patch Set 7 : Fix for non cached transform, small cleanups #Patch Set 8 : Remove unused field #
Total comments: 4
Patch Set 9 : Address reviewer comments #Patch Set 10 : Fix test for the moon lander. #Messages
Total messages: 18 (4 generated)
|