Changeset 220381 in webkit


Ignore:
Timestamp:
Aug 7, 2017 7:52:06 PM (7 years ago)
Author:
Simon Fraser
Message:

Re-order the tests in RenderLayerCompositor::requiresCompositingLayer() for performance
https://bugs.webkit.org/show_bug.cgi?id=175306

Reviewed by Tim Horton.

Re-order the tests for compositing reasons so that reasons more likely to happen are higher in the list.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingLayer const):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r220380 r220381  
     12017-08-07  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Re-order the tests in RenderLayerCompositor::requiresCompositingLayer() for performance
     4        https://bugs.webkit.org/show_bug.cgi?id=175306
     5
     6        Reviewed by Tim Horton.
     7
     8        Re-order the tests for compositing reasons so that reasons more likely to happen are higher in the list.
     9
     10        * rendering/RenderLayerCompositor.cpp:
     11        (WebCore::RenderLayerCompositor::requiresCompositingLayer const):
     12        (WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
     13
    1142017-08-07  Simon Fraser  <simon.fraser@apple.com>
    215
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r219876 r220381  
    21742174    // The root layer always has a compositing layer, but it may not have backing.
    21752175    return requiresCompositingForTransform(renderer)
    2176         || requiresCompositingForVideo(renderer)
     2176        || requiresCompositingForAnimation(renderer)
     2177        || clipsCompositingDescendants(*renderer.layer())
     2178        || requiresCompositingForPosition(renderer, *renderer.layer(), viewportConstrainedNotCompositedReason)
    21772179        || requiresCompositingForCanvas(renderer)
    2178         || requiresCompositingForPlugin(renderer)
    2179         || requiresCompositingForFrame(renderer)
    2180         || requiresCompositingForBackfaceVisibility(renderer)
    2181         || clipsCompositingDescendants(*renderer.layer())
    2182         || requiresCompositingForAnimation(renderer)
    21832180        || requiresCompositingForFilters(renderer)
    21842181        || requiresCompositingForWillChange(renderer)
    2185         || requiresCompositingForPosition(renderer, *renderer.layer(), viewportConstrainedNotCompositedReason)
     2182        || requiresCompositingForBackfaceVisibility(renderer)
     2183        || requiresCompositingForVideo(renderer)
     2184        || requiresCompositingForFrame(renderer)
     2185        || requiresCompositingForPlugin(renderer)
    21862186#if PLATFORM(IOS)
    21872187        || requiresCompositingForScrolling(*renderer.layer())
     
    22182218    if (layer.isRootLayer()
    22192219        || layer.transform() // note: excludes perspective and transformStyle3D.
    2220         || requiresCompositingForVideo(renderer)
     2220        || requiresCompositingForAnimation(renderer)
     2221        || requiresCompositingForPosition(renderer, layer)
    22212222        || requiresCompositingForCanvas(renderer)
    2222         || requiresCompositingForPlugin(renderer)
    2223         || requiresCompositingForFrame(renderer)
    2224         || requiresCompositingForBackfaceVisibility(renderer)
    2225         || requiresCompositingForAnimation(renderer)
    22262223        || requiresCompositingForFilters(renderer)
    22272224        || requiresCompositingForWillChange(renderer)
    2228         || requiresCompositingForPosition(renderer, layer)
     2225        || requiresCompositingForBackfaceVisibility(renderer)
     2226        || requiresCompositingForVideo(renderer)
     2227        || requiresCompositingForFrame(renderer)
     2228        || requiresCompositingForPlugin(renderer)
    22292229        || requiresCompositingForOverflowScrolling(layer)
    22302230        || renderer.isTransparent()
Note: See TracChangeset for help on using the changeset viewer.