summaryrefslogtreecommitdiffstats
path: root/cc/tree_synchronizer.cc
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-04 04:25:11 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-04 04:25:11 +0000
commit0bf9472475c27b921b18c55dad34f9d7ad15d18e (patch)
tree5a7df801dd78b8aeb3b242588a86a88c176cfce0 /cc/tree_synchronizer.cc
parent9ec9dcf80862cac08862e9e8a99121aedf45d23a (diff)
downloadchromium_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.cc2
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;