Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Issue 12094094: cc: Don't do full tree sync unless needed with impl painting. (Closed)

Created:
7 years, 10 months ago by danakj
Modified:
7 years, 10 months ago
Reviewers:
jamesr, enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

cc: Don't do full tree sync unless needed with impl painting. When impl painting is enabled, we always did a full tree sync from the main thread to the pending tree because it was always recreated. Since we recycle the tree now, it maintains its structure from one commit to the next, so we don't need to do a full tree sync unless its structure changed, the same decision as for non-impl-painting mode. On the impl side, the pending tree maintains the same structure as the active tree unless the main thread commits a structure change. This is the case when the main thread does a full tree sync into the pending tree. So we propagate the flag to the LayerTreeHostImpl and use it when activating the pending tree. Causing a commit every layout() with the 10_10_layer_tree, the win is clear: Before: *RESULT 10_10_layer_tree: frames= 2657.12 runs/s After: *RESULT 10_10_layer_tree: frames= 3256.78 runs/s R=jamesr,enne BUG=173526 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=180085

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+27 lines, -22 lines) Patch
M cc/layer_tree_host.cc View 1 1 chunk +2 lines, -6 lines 0 comments Download
M cc/layer_tree_host_impl.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M cc/layer_tree_impl.h View 1 2 chunks +7 lines, -0 lines 0 comments Download
M cc/layer_tree_impl.cc View 1 1 chunk +16 lines, -15 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
danakj
7 years, 10 months ago (2013-01-31 23:53:32 UTC) #1
danakj
I can collect some perfstats on this change.
7 years, 10 months ago (2013-01-31 23:53:44 UTC) #2
enne (OOO)
https://codereview.chromium.org/12094094/diff/1/cc/layer_tree_host.cc File cc/layer_tree_host.cc (right): https://codereview.chromium.org/12094094/diff/1/cc/layer_tree_host.cc#newcode284 cc/layer_tree_host.cc:284: hostImpl->setNeedsFullTreeSync(m_needsFullTreeSync); Since we only have two trees this doesn't ...
7 years, 10 months ago (2013-02-01 00:13:02 UTC) #3
danakj
https://codereview.chromium.org/12094094/diff/1/cc/layer_tree_host.cc File cc/layer_tree_host.cc (right): https://codereview.chromium.org/12094094/diff/1/cc/layer_tree_host.cc#newcode284 cc/layer_tree_host.cc:284: hostImpl->setNeedsFullTreeSync(m_needsFullTreeSync); On 2013/02/01 00:13:02, enne wrote: > Since we ...
7 years, 10 months ago (2013-02-01 00:17:27 UTC) #4
danakj
Done. PTAL
7 years, 10 months ago (2013-02-01 00:26:16 UTC) #5
enne (OOO)
lgtm
7 years, 10 months ago (2013-02-01 00:34:32 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/12094094/9001
7 years, 10 months ago (2013-02-01 00:49:41 UTC) #7
commit-bot: I haz the power
7 years, 10 months ago (2013-02-01 05:25:06 UTC) #8
Message was sent while issue was closed.
Change committed as 180085

Powered by Google App Engine
This is Rietveld 408576698