Bug 119551 - Every scroll causes additional layer tree work because of flatteningLayer->removeFromParent();
Summary: Every scroll causes additional layer tree work because of flatteningLayer->re...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-07 10:43 PDT by Simon Fraser (smfr)
Modified: 2013-08-13 13:17 PDT (History)
6 users (show)

See Also:


Attachments
Patch (1.82 KB, patch)
2013-08-13 13:07 PDT, Simon Fraser (smfr)
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2013-08-07 10:43:48 PDT
Whenever we update layer geometry on a layer with a tile cache flattening layer, we hit:

    if (GraphicsLayer* flatteningLayer = tileCacheFlatteningLayer()) {
        flatteningLayer->removeFromParent();
        m_graphicsLayer->addChild(flatteningLayer);
    }

which is normally a no-op, but does cause us to push a new sublayers array down to CA. We should avoid this.
Comment 1 Simon Fraser (smfr) 2013-08-13 13:07:22 PDT
Created attachment 208668 [details]
Patch
Comment 2 Simon Fraser (smfr) 2013-08-13 13:17:27 PDT
https://trac.webkit.org/r154018