diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 04:25:11 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 04:25:11 +0000 |
commit | 0bf9472475c27b921b18c55dad34f9d7ad15d18e (patch) | |
tree | 5a7df801dd78b8aeb3b242588a86a88c176cfce0 /cc/tree_synchronizer.cc | |
parent | 9ec9dcf80862cac08862e9e8a99121aedf45d23a (diff) | |
download | chromium_src-0bf9472475c27b921b18c55dad34f9d7ad15d18e.zip chromium_src-0bf9472475c27b921b18c55dad34f9d7ad15d18e.tar.gz chromium_src-0bf9472475c27b921b18c55dad34f9d7ad15d18e.tar.bz2 |
Only do full tree sync if tree is actually changed, otherwise just push properties
We only have to run the complete tree synchronization algorithm if the cc::Layer tree's
structure is actually changed, otherwise we can just push properties over since the
cc::LayerImpl tree structure is never changed outside of commit.
Since scroll offset updates are tied into the tree synchronization algorithm, we currently
have to do a full tree sync for scroll updates. Fixing this will speed up scroll operations
but requires a bit more work.
Speeds up cc_perftests tenTenSingleThread by 7.3%
BUG=161166
Review URL: https://chromiumcodereview.appspot.com/11316297
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170881 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/tree_synchronizer.cc')
-rw-r--r-- | cc/tree_synchronizer.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cc/tree_synchronizer.cc b/cc/tree_synchronizer.cc index 4c51a16..8dd94d1 100644 --- a/cc/tree_synchronizer.cc +++ b/cc/tree_synchronizer.cc @@ -4,6 +4,7 @@ #include "cc/tree_synchronizer.h" +#include "base/debug/trace_event.h" #include "cc/layer.h" #include "cc/layer_impl.h" #include "cc/scrollbar_animation_controller.h" @@ -14,6 +15,7 @@ namespace cc { scoped_ptr<LayerImpl> TreeSynchronizer::synchronizeTrees(Layer* layerRoot, scoped_ptr<LayerImpl> oldLayerImplRoot, LayerTreeHostImpl* hostImpl) { + TRACE_EVENT0("cc", "TreeSynchronizer::synchronizeTrees"); ScopedPtrLayerImplMap oldLayers; RawPtrLayerImplMap newLayers; |