summaryrefslogtreecommitdiffstats
path: root/cc/layer_tree_host.h
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/layer_tree_host.h
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/layer_tree_host.h')
-rw-r--r--cc/layer_tree_host.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/cc/layer_tree_host.h b/cc/layer_tree_host.h
index fd73692..8f3087c 100644
--- a/cc/layer_tree_host.h
+++ b/cc/layer_tree_host.h
@@ -184,6 +184,7 @@ public:
void setNeedsAnimate();
// virtual for testing
virtual void setNeedsCommit();
+ virtual void setNeedsFullTreeSync();
void setNeedsRedraw();
bool commitRequested() const;
@@ -268,6 +269,7 @@ private:
bool m_animating;
bool m_needsAnimateLayers;
+ bool m_needsFullTreeSync;
base::CancelableClosure m_prepaintCallback;