Title: [197594] trunk
Revision
197594
Author
[email protected]
Date
2016-03-04 15:32:22 -0800 (Fri, 04 Mar 2016)

Log Message

Use larger tiles when possible to reduce per-tile painting overhead
https://bugs.webkit.org/show_bug.cgi?id=154985

Reviewed by Zalan Bujtas.

Source/WebCore:

r197541 inadvertently missed FrameView changes that push scrollability data
onto the TiledBacking, so didn't actually change behavior (hence the 512x512 tiles
in the failing tests).

Also remove m_tileSizeAtLastRevalidate from TileGrid; it's replaced by a simpler test.

* page/FrameView.cpp:
(WebCore::FrameView::addedOrRemovedScrollbar):
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::TileGrid): Deleted.
* platform/graphics/ca/TileGrid.h:

LayoutTests:

* tiled-drawing/background-transparency-toggle-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
* tiled-drawing/tile-coverage-after-scroll-expected.txt:
* tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
* tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
* tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
* tiled-drawing/tile-coverage-speculative-expected.txt:
* tiled-drawing/tile-size-unscrollable-expected.txt:
* tiled-drawing/tile-size-vertically-scrollable-expected.txt:
* tiled-drawing/visible-rect-content-inset-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (197593 => 197594)


--- trunk/LayoutTests/ChangeLog	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/ChangeLog	2016-03-04 23:32:22 UTC (rev 197594)
@@ -1,3 +1,32 @@
+2016-03-04  Simon Fraser  <[email protected]>
+
+        Use larger tiles when possible to reduce per-tile painting overhead
+        https://bugs.webkit.org/show_bug.cgi?id=154985
+
+        Reviewed by Zalan Bujtas.
+
+        * tiled-drawing/background-transparency-toggle-expected.txt:
+        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
+        * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
+        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
+        * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
+        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
+        * tiled-drawing/tile-coverage-after-scroll-expected.txt:
+        * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
+        * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
+        * tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
+        * tiled-drawing/tile-coverage-speculative-expected.txt:
+        * tiled-drawing/tile-size-unscrollable-expected.txt:
+        * tiled-drawing/tile-size-vertically-scrollable-expected.txt:
+        * tiled-drawing/visible-rect-content-inset-expected.txt:
+
 2016-03-04  Ryan Haddad  <[email protected]>
 
         Temporarily skip fast/table/table-overflow.html on ios-simulator

Modified: trunk/LayoutTests/tiled-drawing/background-transparency-toggle-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/background-transparency-toggle-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/background-transparency-toggle-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -8,8 +8,8 @@
       (bounds 800.00 600.00)
       (contentsOpaque 1)
       (tile cache coverage 0, 0 800 x 600)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )
@@ -21,8 +21,8 @@
       (bounds 800.00 600.00)
       (backgroundColor #00000033)
       (tile cache coverage 0, 0 800 x 600)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )
@@ -34,8 +34,8 @@
       (bounds 800.00 600.00)
       (contentsOpaque 1)
       (tile cache coverage 0, 0 800 x 600)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )
@@ -46,9 +46,9 @@
     (GraphicsLayer
       (bounds 785.00 648.00)
       (contentsOpaque 1)
-      (tile cache coverage 0, 0 785 x 648)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile cache coverage 0, 0 785 x 600)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -25,8 +25,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 785 x 2048)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 4)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 4)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -25,8 +25,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 785 x 2048)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 4)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 4)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -25,8 +25,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 785 x 2048)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 4)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 4)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -25,8 +25,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 785 x 2048)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 4)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 4)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -43,9 +43,9 @@
       (coverage rect 0.00, 0.00 341.30 x 254.35)
       (intersects coverage rect 1)
       (contentsScale 2.30)
-      (tile cache coverage 0, 0 445 x 445)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile cache coverage 0, 0 341 x 445)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 2)
       (children 4
         (GraphicsLayer
           (position -4.00 -4.00)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -6,8 +6,8 @@
       (bounds 785.00 1700.00)
       (contentsOpaque 1)
       (tile cache coverage 0, 0 785 x 1024)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 2)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -16,8 +16,8 @@
         (GraphicsLayer
           (bounds 785.00 1600.00)
           (tile cache coverage 0, 0 785 x 1024)
-          (tile size 512 x 512)
-          (top left tile 0, 0 tiles grid 2 x 2)
+          (tile size 785 x 512)
+          (top left tile 0, 0 tiles grid 1 x 2)
         )
       )
     )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -16,8 +16,8 @@
         (GraphicsLayer
           (bounds 785.00 1700.00)
           (tile cache coverage 0, 0 785 x 1024)
-          (tile size 512 x 512)
-          (top left tile 0, 0 tiles grid 2 x 2)
+          (tile size 785 x 512)
+          (top left tile 0, 0 tiles grid 1 x 2)
         )
       )
     )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -16,8 +16,8 @@
         (GraphicsLayer
           (bounds 785.00 1700.00)
           (tile cache coverage 0, 0 785 x 1024)
-          (tile size 512 x 512)
-          (top left tile 0, 0 tiles grid 2 x 2)
+          (tile size 785 x 512)
+          (top left tile 0, 0 tiles grid 1 x 2)
         )
       )
     )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -16,8 +16,8 @@
         (GraphicsLayer
           (bounds 785.00 3700.00)
           (tile cache coverage 0, 0 785 x 1024)
-          (tile size 512 x 512)
-          (top left tile 0, 0 tiles grid 2 x 2)
+          (tile size 785 x 512)
+          (top left tile 0, 0 tiles grid 1 x 2)
         )
       )
     )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -16,8 +16,8 @@
         (GraphicsLayer
           (bounds 785.00 1516.00)
           (tile cache coverage 0, 0 785 x 1024)
-          (tile size 512 x 512)
-          (top left tile 0, 0 tiles grid 2 x 2)
+          (tile size 785 x 512)
+          (top left tile 0, 0 tiles grid 1 x 2)
         )
       )
     )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -7,8 +7,8 @@
       (contentsOpaque 1)
       (backgroundColor #C0C0C0)
       (tile cache coverage 0, 0 785 x 1024)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 2)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -14,8 +14,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 2560 785 x 1536)
-      (tile size 512 x 512)
-      (top left tile 0, 5 tiles grid 2 x 3)
+      (tile size 785 x 512)
+      (top left tile 0, 5 tiles grid 1 x 3)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -14,8 +14,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 2560 785 x 1536)
-      (tile size 512 x 512)
-      (top left tile 0, 5 tiles grid 2 x 3)
+      (tile size 785 x 512)
+      (top left tile 0, 5 tiles grid 1 x 3)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -14,8 +14,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 4096 785 x 925)
-      (tile size 512 x 512)
-      (top left tile 0, 8 tiles grid 2 x 2)
+      (tile size 785 x 512)
+      (top left tile 0, 8 tiles grid 1 x 2)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-coverage-slow-scrolling-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-coverage-slow-scrolling-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-coverage-slow-scrolling-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -14,8 +14,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 800 x 600)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-coverage-speculative-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-coverage-speculative-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-coverage-speculative-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -14,8 +14,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 785 x 1024)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 2)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-size-unscrollable-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-size-unscrollable-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-size-unscrollable-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -6,8 +6,8 @@
       (bounds 800.00 600.00)
       (contentsOpaque 1)
       (tile cache coverage 0, 0 800 x 600)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 800 x 600)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/tile-size-vertically-scrollable-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/tile-size-vertically-scrollable-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/tile-size-vertically-scrollable-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -6,8 +6,8 @@
       (bounds 785.00 2021.00)
       (contentsOpaque 1)
       (tile cache coverage 0, 0 785 x 1024)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 2)
+      (tile size 785 x 512)
+      (top left tile 0, 0 tiles grid 1 x 2)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/visible-rect-content-inset-expected.txt (197593 => 197594)


--- trunk/LayoutTests/tiled-drawing/visible-rect-content-inset-expected.txt	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/LayoutTests/tiled-drawing/visible-rect-content-inset-expected.txt	2016-03-04 23:32:22 UTC (rev 197594)
@@ -15,8 +15,8 @@
       (intersects coverage rect 1)
       (contentsScale 1.00)
       (tile cache coverage 0, 0 800 x 500)
-      (tile size 512 x 512)
-      (top left tile 0, 0 tiles grid 2 x 1)
+      (tile size 800 x 512)
+      (top left tile 0, 0 tiles grid 1 x 1)
     )
   )
 )

Modified: trunk/Source/WebCore/ChangeLog (197593 => 197594)


--- trunk/Source/WebCore/ChangeLog	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/Source/WebCore/ChangeLog	2016-03-04 23:32:22 UTC (rev 197594)
@@ -1,5 +1,25 @@
 2016-03-04  Simon Fraser  <[email protected]>
 
+        Use larger tiles when possible to reduce per-tile painting overhead
+        https://bugs.webkit.org/show_bug.cgi?id=154985
+
+        Reviewed by Zalan Bujtas.
+
+        r197541 inadvertently missed FrameView changes that push scrollability data
+        onto the TiledBacking, so didn't actually change behavior (hence the 512x512 tiles
+        in the failing tests).
+
+        Also remove m_tileSizeAtLastRevalidate from TileGrid; it's replaced by a simpler test.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::addedOrRemovedScrollbar):
+        * platform/graphics/ca/TileGrid.cpp:
+        (WebCore::TileGrid::revalidateTiles):
+        (WebCore::TileGrid::TileGrid): Deleted.
+        * platform/graphics/ca/TileGrid.h:
+
+2016-03-04  Simon Fraser  <[email protected]>
+
         Use BoxExtent instead of EdgeSet in TileController
         https://bugs.webkit.org/show_bug.cgi?id=155040
 

Modified: trunk/Source/WebCore/page/FrameView.cpp (197593 => 197594)


--- trunk/Source/WebCore/page/FrameView.cpp	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/Source/WebCore/page/FrameView.cpp	2016-03-04 23:32:22 UTC (rev 197594)
@@ -2465,6 +2465,17 @@
         if (renderView->usesCompositing())
             renderView->compositor().frameViewDidAddOrRemoveScrollbars();
     }
+
+    if (auto* tiledBacking = this->tiledBacking()) {
+        TiledBacking::Scrollability scrollability = TiledBacking::NotScrollable;
+        if (horizontalScrollbar())
+            scrollability = TiledBacking::HorizontallyScrollable;
+
+        if (verticalScrollbar())
+            scrollability |= TiledBacking::VerticallyScrollable;
+
+        tiledBacking->setScrollability(scrollability);
+    }
 }
 
 static LayerFlushThrottleState::Flags determineLayerFlushThrottleState(Page& page)

Modified: trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp (197593 => 197594)


--- trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp	2016-03-04 23:32:22 UTC (rev 197594)
@@ -46,7 +46,6 @@
     , m_containerLayer(*controller.rootLayer().createCompatibleLayer(PlatformCALayer::LayerTypeLayer, nullptr))
     , m_cohortRemovalTimer(*this, &TileGrid::cohortRemovalTimerFired)
     , m_tileSize(kDefaultTileSize, kDefaultTileSize)
-    , m_tileSizeAtLastRevalidate(m_tileSize)
 {
     m_containerLayer.get().setName(TileController::tileGridContainerLayerName());
 }
@@ -333,10 +332,10 @@
     double minimumRevalidationTimerDuration = std::numeric_limits<double>::max();
     bool needsTileRevalidation = false;
     
-    m_tileSize = m_controller.tileSize();
-    if (m_tileSize != m_tileSizeAtLastRevalidate) {
+    auto tileSize = m_controller.tileSize();
+    if (tileSize != m_tileSize) {
         removeAllTiles();
-        m_tileSizeAtLastRevalidate = m_tileSize;
+        m_tileSize = tileSize;
     }
 
     // Move tiles newly outside the coverage rect into the cohort map.

Modified: trunk/Source/WebCore/platform/graphics/ca/TileGrid.h (197593 => 197594)


--- trunk/Source/WebCore/platform/graphics/ca/TileGrid.h	2016-03-04 23:32:14 UTC (rev 197593)
+++ trunk/Source/WebCore/platform/graphics/ca/TileGrid.h	2016-03-04 23:32:22 UTC (rev 197594)
@@ -167,7 +167,6 @@
     RepaintCountMap m_tileRepaintCounts;
     
     IntSize m_tileSize;
-    IntSize m_tileSizeAtLastRevalidate;
 
     float m_scale { 1 };
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to