Title: [124822] branches/safari-536.26-branch/Source/WebCore
- Revision
- 124822
- Author
- [email protected]
- Date
- 2012-08-06 17:17:47 -0700 (Mon, 06 Aug 2012)
Log Message
Rollout r116203. <rdar://problem/11932288>
Modified Paths
Diff
Modified: branches/safari-536.26-branch/Source/WebCore/ChangeLog (124821 => 124822)
--- branches/safari-536.26-branch/Source/WebCore/ChangeLog 2012-08-07 00:14:00 UTC (rev 124821)
+++ branches/safari-536.26-branch/Source/WebCore/ChangeLog 2012-08-07 00:17:47 UTC (rev 124822)
@@ -1,5 +1,29 @@
2012-08-06 Lucas Forschler <[email protected]>
+ Revert 116203
+
+ 2012-05-04 Julien Chaffraix <[email protected]>
+
+ Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
+ https://bugs.webkit.org/show_bug.cgi?id=85678
+
+ Reviewed by Darin Adler.
+
+ Performance optimization, no expected change in behavior.
+
+ The gist of the change is that leaf non self-painting layers don't need to be painted as their
+ associated RenderBoxModelObject should properly paint itself without any help.
+
+ For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
+ each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
+ painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
+ my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+
+2012-08-06 Lucas Forschler <[email protected]>
+
Merge 123780
2012-07-25 Jer Noble <[email protected]>
Modified: branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayer.cpp (124821 => 124822)
--- branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayer.cpp 2012-08-07 00:14:00 UTC (rev 124821)
+++ branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayer.cpp 2012-08-07 00:17:47 UTC (rev 124822)
@@ -2896,10 +2896,6 @@
if (!renderer()->opacity())
return;
- // Non self-painting leaf layers don't need to be painted as their renderer() should properly paint itself.
- if (!isSelfPaintingLayer() && !firstChild())
- return;
-
if (paintsWithTransparency(paintBehavior))
paintFlags |= PaintLayerHaveTransparency;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes