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

Issue 10690168: Aura: Resize locks with --ui-enable-threaded-compositing (Closed)

Created:
8 years, 5 months ago by jonathan.backer
Modified:
8 years, 1 month ago
Reviewers:
jamesr, sky, piman
CC:
chromium-reviews, sadrul, yusukes+watch_chromium.org, ben+watch_chromium.org, Ian Vollick, jam, penghuang+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, James Su
Visibility:
Public.

Description

Aura: Resize locks with --ui-enable-threaded-compositing We temporarily defer commits while resizing so that the renderer has a chance to catch up with the UI window size. Noteable changes from master: - RWHVs can fast ACK the GPU process (not flip in the browser or TextureImageTransportSurface); useful for allowing the renderer to catch up when it gets too far behind. - RWHVA will insist kicking a renderer frame after the lock times out on resize (wasn't necessary before) - ui::Compositor vends draw locks (which largely just wraps to cc::Proxy) of ui::aura::RootWindow BUG=136366 TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=164460

Patch Set 1 #

Patch Set 2 : New approach. #

Total comments: 14

Patch Set 3 : Converging... #

Total comments: 1

Patch Set 4 : Rebase and allow dropping flip in browser (for fast ACKs) #

Patch Set 5 : Moved needing to kick a frame logic up to RWHVA from Compositor. #

Total comments: 22

Patch Set 6 : Address reviewer comments (piman and jamesr). #

Patch Set 7 : Defer commits and rebase. #

Total comments: 20

Patch Set 8 : Address jamesr@ comments. #

Total comments: 12

Patch Set 9 : Address jamesr@ comments. #

Total comments: 4

Patch Set 10 : With a unittest (and minor compile fixes for other platforms). #

Total comments: 8

Patch Set 11 : Address piman@ comments. #

Total comments: 4

Patch Set 12 : Address reviewer comments. #

Patch Set 13 : win_rel compile fix #

Total comments: 1

Patch Set 14 : Rebase before landing. #

Patch Set 15 : OSX compile fix. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+466 lines, -273 lines) Patch
M ash/wm/window_animations.cc View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M cc/layer_tree_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M cc/layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -0 lines 0 comments Download
M cc/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +53 lines, -0 lines 0 comments Download
M cc/proxy.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M cc/single_thread_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M cc/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -0 lines 0 comments Download
M cc/test/layer_tree_test_common.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/layer_tree_test_common.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M cc/thread_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -0 lines 0 comments Download
M cc/thread_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +28 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +10 lines, -5 lines 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.cc View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.h View 1 2 3 4 5 6 7 chunks +22 lines, -10 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 21 chunks +128 lines, -102 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_gtk.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download
M content/common/gpu/image_transport_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +4 lines, -3 lines 0 comments Download
M content/common/gpu/image_transport_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -3 lines 0 comments Download
M content/common/gpu/image_transport_surface_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -2 lines 0 comments Download
M content/common/gpu/image_transport_surface_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -2 lines 0 comments Download
M content/common/gpu/texture_image_transport_surface.h View 1 2 3 4 5 6 3 chunks +6 lines, -1 line 0 comments Download
M content/common/gpu/texture_image_transport_surface.cc View 1 2 3 4 5 6 3 chunks +21 lines, -6 lines 0 comments Download
M ui/aura/bench/bench_main.cc View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M ui/aura/root_window.h View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +1 line, -36 lines 0 comments Download
M ui/aura/root_window.cc View 1 2 3 4 5 6 7 8 9 10 11 11 chunks +7 lines, -55 lines 0 comments Download
M ui/compositor/compositor.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +40 lines, -3 lines 0 comments Download
M ui/compositor/compositor.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +63 lines, -22 lines 0 comments Download
M ui/compositor/compositor_observer.h View 1 2 3 4 2 chunks +5 lines, -4 lines 0 comments Download
M ui/compositor/layer_unittest.cc View 1 2 3 4 3 chunks +5 lines, -8 lines 0 comments Download
M webkit/compositor_bindings/web_layer_tree_view_impl.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M webkit/compositor_bindings/web_layer_tree_view_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
jonathan.backer
The WK side will need some vetting, but I think the Cr side is close.
8 years, 4 months ago (2012-07-31 22:46:09 UTC) #1
piman
https://chromiumcodereview.appspot.com/10690168/diff/2001/content/browser/renderer_host/render_widget_host_view_aura.cc File content/browser/renderer_host/render_widget_host_view_aura.cc (right): https://chromiumcodereview.appspot.com/10690168/diff/2001/content/browser/renderer_host/render_widget_host_view_aura.cc#newcode601 content/browser/renderer_host/render_widget_host_view_aura.cc:601: // Remove locks if we've got got the right ...
8 years, 4 months ago (2012-07-31 23:42:16 UTC) #2
jonathan.backer
I took a good hard look at some traces and concluded that I was doing ...
8 years, 4 months ago (2012-08-01 17:22:43 UTC) #3
piman
The patch definitely looks a lot better this way. I only have one concern, and ...
8 years, 4 months ago (2012-08-01 18:25:34 UTC) #4
jonathan.backer
*sigh* I flip-flopped. The dropping flips for fast ACKs is back. I needed it for ...
8 years, 2 months ago (2012-10-16 17:48:53 UTC) #5
jonathan.backer
> > I think that it's going to be hard to intermediate between multiple RWHVAs ...
8 years, 2 months ago (2012-10-16 21:27:35 UTC) #6
jonathan.backer
@piman: Please take a look.
8 years, 2 months ago (2012-10-17 19:53:24 UTC) #7
piman
I like the way this is going. There's complexity, but at least it's mostly localized ...
8 years, 2 months ago (2012-10-17 21:26:32 UTC) #8
jonathan.backer
I can separate out the cc/ changes if you think that will improve landability. I ...
8 years, 2 months ago (2012-10-18 20:20:35 UTC) #9
jonathan.backer
+jamesr for cc/
8 years, 2 months ago (2012-10-18 21:25:15 UTC) #10
jamesr
What exactly do you want setDeferUpdates() to do? Just stop commits?
8 years, 2 months ago (2012-10-18 21:32:03 UTC) #11
jonathan.backer
On 2012/10/18 21:32:03, jamesr wrote: > What exactly do you want setDeferUpdates() to do? Just ...
8 years, 2 months ago (2012-10-18 21:43:25 UTC) #12
jamesr
I think this should be at the tree level, not something set on individual layers. ...
8 years, 2 months ago (2012-10-18 21:49:26 UTC) #13
jamesr
Doing ~nothing in the commit but letting it go through (as opposed to completely dropping ...
8 years, 2 months ago (2012-10-18 21:51:02 UTC) #14
jonathan.backer
Taking a much coarser grained approach to deferring impl-side updates.
8 years, 2 months ago (2012-10-19 18:08:58 UTC) #15
jonathan.backer
@jamesr: I've deferred the commit as per my discussion with piman@. If this LGTY, I ...
8 years, 1 month ago (2012-10-23 17:35:04 UTC) #16
jamesr
Do you have traces showing threaded mode being 2-3ms slower than single threaded? http://codereview.chromium.org/10690168/diff/41025/cc/layer_tree_host.cc File ...
8 years, 1 month ago (2012-10-23 17:50:44 UTC) #17
jonathan.backer
Thanks for the quick review jamesr@. I've added some traces on the associated bug (http://code.google.com/p/chromium/issues/detail?id=136366). ...
8 years, 1 month ago (2012-10-23 19:26:42 UTC) #18
jamesr
Still needs work but this is on the right track. http://codereview.chromium.org/10690168/diff/51001/cc/layer_tree_host.cc File cc/layer_tree_host.cc (right): http://codereview.chromium.org/10690168/diff/51001/cc/layer_tree_host.cc#newcode333 ...
8 years, 1 month ago (2012-10-23 21:24:34 UTC) #19
jonathan.backer
@jamesr: I've made this thread-only (NOTIMPLEMENTED in SingleThreadProxy). This feels like the right thing to ...
8 years, 1 month ago (2012-10-24 16:42:14 UTC) #20
jamesr
Logic in cc/ looks solid - just need tests. Thanks for the refinements. http://codereview.chromium.org/10690168/diff/53001/cc/layer_tree_host.cc File ...
8 years, 1 month ago (2012-10-24 19:34:27 UTC) #21
jonathan.backer
Added a unit test (and a LTH hook to support it). http://codereview.chromium.org/10690168/diff/53001/cc/layer_tree_host.cc File cc/layer_tree_host.cc (right): ...
8 years, 1 month ago (2012-10-24 21:29:37 UTC) #22
piman
A few things, but otherwise this is looking pretty good (in particular the RWVHA stuff). ...
8 years, 1 month ago (2012-10-25 00:14:08 UTC) #23
jonathan.backer
I think this is converging nicely. I modified the unittest slightly for consistency (I don't ...
8 years, 1 month ago (2012-10-25 15:19:04 UTC) #24
piman
http://codereview.chromium.org/10690168/diff/53009/cc/thread_proxy.cc File cc/thread_proxy.cc (right): http://codereview.chromium.org/10690168/diff/53009/cc/thread_proxy.cc#newcode515 cc/thread_proxy.cc:515: m_deferredCommitPending = false; I would reset this when posting ...
8 years, 1 month ago (2012-10-25 16:18:58 UTC) #25
jonathan.backer
Addressed piman@s comments (on the mark) and did a rebase to ToT. http://codereview.chromium.org/10690168/diff/53009/cc/thread_proxy.cc File cc/thread_proxy.cc ...
8 years, 1 month ago (2012-10-25 16:38:11 UTC) #26
piman
lgtm
8 years, 1 month ago (2012-10-25 16:43:42 UTC) #27
jonathan.backer
On 2012/10/25 16:43:42, piman wrote: > lgtm @jamesr: poke.
8 years, 1 month ago (2012-10-26 18:44:55 UTC) #28
jamesr
cc/ lgtm - thanks for the tests!
8 years, 1 month ago (2012-10-26 19:29:42 UTC) #29
jamesr
webkit/ lgtm as well. I think piman has owners everwhere else I do http://codereview.chromium.org/10690168/diff/57042/webkit/compositor_bindings/web_layer_tree_view_impl.h File ...
8 years, 1 month ago (2012-10-26 19:30:40 UTC) #30
sky
LGTM
8 years, 1 month ago (2012-10-26 19:46:31 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/backer@chromium.org/10690168/76001
8 years, 1 month ago (2012-10-26 19:51:59 UTC) #32
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
8 years, 1 month ago (2012-10-26 20:50:25 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/backer@chromium.org/10690168/84002
8 years, 1 month ago (2012-10-26 21:09:34 UTC) #34
commit-bot: I haz the power
8 years, 1 month ago (2012-10-27 00:44:32 UTC) #35
Change committed as 164460

Powered by Google App Engine
This is Rietveld 408576698