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

Issue 775143003: cc: Implement unified BeginFrame on aura (Closed)

Created:
6 years ago by simonhong
Modified:
4 years, 10 months ago
CC:
chromium-reviews, nkostylev+watch_chromium.org, nasko+codewatch_chromium.org, sievers+watch_chromium.org, yukishiino+watch_chromium.org, stevenjb+watch_chromium.org, yusukes+watch_chromium.org, dzhioev+watch_chromium.org, jam, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, miu+watch_chromium.org, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, penghuang+watch_chromium.org, oshima+watch_chromium.org, piman+watch_chromium.org, danakj+watch_chromium.org, Ian Vollick, mkwst+moarreviews-renderer_chromium.org, cc-bugs_chromium.org, James Su, davemoore+watch_chromium.org, jdduke (slow), Sami, enne (OOO)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Unified BeginFrame on aura This cl implements unified BeginFrame on Aura platform. With this, child scheduler(renderer-side cc scheduler) uses external BeginFrameSource instead of synthetic BeignFrameSource. ui::CompositorVSyncManager is also removed because aura platform doesn't need vsync message. Design docs (https://docs.google.com/a/chromium.org/document/d/13xtO-_NSSnNZRRS1Xq3xGNKZawKc8HQxOid5boBUyX8/edit#) R=brianderson@chromium.org, mithro@mithis.com BUG=372086, 441577 TEST=cc_unittests, compositor_unittests

Patch Set 1 : #

Patch Set 2 : Move common logic to DelegatedFrameHost #

Total comments: 10

Patch Set 3 : Addressed brian's comment #

Total comments: 7

Patch Set 4 : #

Total comments: 8

Patch Set 5 : #

Total comments: 11

Patch Set 6 : #

Total comments: 3

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Total comments: 28

Patch Set 10 : Fix content_unittests compile error #

Patch Set 11 : #

Patch Set 12 : add unittest #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+438 lines, -281 lines) Patch
M ash/display/display_controller.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -4 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +16 lines, -5 lines 0 comments Download
M cc/scheduler/scheduler_settings.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_settings.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +0 lines, -5 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +28 lines, -10 lines 0 comments Download
M cc/test/begin_frame_args_test.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M cc/test/fake_proxy.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -5 lines 0 comments Download
M cc/trees/layer_tree_settings.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/layer_tree_settings.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/proxy.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.h View 1 2 3 4 5 6 7 3 chunks +5 lines, -14 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +3 lines, -19 lines 0 comments Download
M content/browser/compositor/delegated_frame_host.h View 1 2 3 4 5 6 7 10 chunks +23 lines, -12 lines 0 comments Download
M content/browser/compositor/delegated_frame_host.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +56 lines, -18 lines 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 2 chunks +0 lines, -5 lines 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -3 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -4 lines 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M content/browser/compositor/reflector_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -7 lines 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 1 chunk +1 line, -6 lines 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -4 lines 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -3 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 5 chunks +11 lines, -7 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 6 7 2 chunks +1 line, -7 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -2 lines 0 comments Download
M ui/compositor/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -2 lines 0 comments Download
M ui/compositor/compositor.h View 1 2 3 4 5 6 7 8 9 10 11 11 chunks +31 lines, -7 lines 1 comment Download
M ui/compositor/compositor.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +41 lines, -4 lines 0 comments Download
M ui/compositor/compositor.gyp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -2 lines 0 comments Download
A ui/compositor/compositor_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +102 lines, -0 lines 4 comments Download
D ui/compositor/compositor_vsync_manager.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -65 lines 0 comments Download
D ui/compositor/compositor_vsync_manager.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -46 lines 0 comments Download
A ui/compositor/test/compositor_test_api.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +36 lines, -0 lines 0 comments Download
A ui/compositor/test/compositor_test_api.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +23 lines, -0 lines 0 comments Download

Messages

Total messages: 36 (4 generated)
simonhong
Yesterday, ui::Compositor starts to act as a SchedulerClient. So, we can enable unified BeginFrame scheduling ...
6 years ago (2014-12-06 02:40:32 UTC) #3
danakj
fwiw that CL was reverted and will likely take a few tries to stick, so ...
6 years ago (2014-12-06 18:02:13 UTC) #4
brianderson
https://codereview.chromium.org/775143003/diff/40001/cc/output/begin_frame_args.h File cc/output/begin_frame_args.h (right): https://codereview.chromium.org/775143003/diff/40001/cc/output/begin_frame_args.h#newcode88 cc/output/begin_frame_args.h:88: interval == other.interval); Probably should include "type" in the ...
6 years ago (2014-12-09 03:00:32 UTC) #5
simonhong
brianderson@, thanks for review :) https://codereview.chromium.org/775143003/diff/40001/cc/output/begin_frame_args.h File cc/output/begin_frame_args.h (right): https://codereview.chromium.org/775143003/diff/40001/cc/output/begin_frame_args.h#newcode88 cc/output/begin_frame_args.h:88: interval == other.interval); On ...
6 years ago (2014-12-09 17:09:27 UTC) #6
brianderson
https://codereview.chromium.org/775143003/diff/60001/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/775143003/diff/60001/content/browser/compositor/delegated_frame_host.cc#newcode949 content/browser/compositor/delegated_frame_host.cc:949: host->Send(new ViewMsg_BeginFrame(host->GetRoutingID(), args)); Would be nice if the BeginFrame ...
6 years ago (2014-12-09 21:56:32 UTC) #7
simonhong
brian, comments are addressed. Also SetAuthoritativeVSyncInterval() is added into Compositor, LTH, Proxy and Scheduler. I ...
6 years ago (2014-12-11 17:45:48 UTC) #8
brianderson
Simon, do you mind keeping the AuthoritativeVSyncInterval changes separate to simplify the review? @weiliangc is ...
6 years ago (2014-12-12 01:17:02 UTC) #9
simonhong
brian, I think this cl works well with (https://codereview.chromium.org/802353002/). But, I found one issue with ...
6 years ago (2014-12-15 15:37:27 UTC) #11
brianderson
I'm not sure what to do about the dev tools issue. I saw your email ...
6 years ago (2014-12-16 00:06:53 UTC) #12
jbauman
On 2014/12/15 15:37:27, simonhong wrote: > brian, I think this cl works well with > ...
6 years ago (2014-12-16 05:28:40 UTC) #13
mithro-old
Hi Simon, I haven't had a chance to read through the existing reviews or look ...
6 years ago (2014-12-16 10:50:58 UTC) #14
simonhong
jbauman@, thanks for pointing out. You're thought is right. BeginFrame is requested earlier than it ...
6 years ago (2014-12-16 15:13:30 UTC) #16
danakj
https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h File ui/base/compositor/compositor_begin_frame_observer.h (right): https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h#newcode3 ui/base/compositor/compositor_begin_frame_observer.h:3: // found in the LICENSE file. On 2014/12/16 10:50:58, ...
6 years ago (2014-12-16 15:44:11 UTC) #17
brianderson
https://codereview.chromium.org/775143003/diff/120001/ui/compositor/compositor.cc File ui/compositor/compositor.cc (right): https://codereview.chromium.org/775143003/diff/120001/ui/compositor/compositor.cc#newcode320 ui/compositor/compositor.cc:320: observer->OnSendBeginFrame(missed_begin_frame_args_); On 2014/12/16 15:13:30, simonhong wrote: > On 2014/12/16 ...
6 years ago (2014-12-16 23:23:52 UTC) #18
brianderson
https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h File ui/base/compositor/compositor_begin_frame_observer.h (right): https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h#newcode3 ui/base/compositor/compositor_begin_frame_observer.h:3: // found in the LICENSE file. On 2014/12/16 15:44:11, ...
6 years ago (2014-12-17 01:44:55 UTC) #19
mithro-old
On 2014/12/17 01:44:55, brianderson wrote: > https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h > File ui/base/compositor/compositor_begin_frame_observer.h (right): > > https://codereview.chromium.org/775143003/diff/120001/ui/base/compositor/compositor_begin_frame_observer.h#newcode3 > ...
6 years ago (2014-12-18 16:05:52 UTC) #20
simonhong
brian, do you mean that cc::Scheduler and each DelegatedFrameHost should be an observer of externalBFS? ...
6 years ago (2014-12-18 16:10:38 UTC) #21
mithro-old
https://codereview.chromium.org/775143003/diff/140001/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/775143003/diff/140001/content/browser/compositor/delegated_frame_host.cc#newcode892 content/browser/compositor/delegated_frame_host.cc:892: gfx::FrameTime::Now(), EKK! You should never be using Now() in ...
6 years ago (2014-12-18 16:19:05 UTC) #22
brianderson
On 2014/12/18 16:05:52, mithro (OO till Feb 16th) wrote: > On 2014/12/17 01:44:55, brianderson wrote: ...
6 years ago (2014-12-24 00:23:08 UTC) #23
simonhong
On 2014/12/24 00:23:08, brianderson wrote: > On 2014/12/18 16:05:52, mithro (OO till Feb 16th) wrote: ...
5 years, 11 months ago (2015-01-19 14:55:16 UTC) #24
brianderson
@weiliangc: It looks like https://codereview.chromium.org/781163003/ has enabled STP+SchedulerClient for CrOS and has been in for ...
5 years, 10 months ago (2015-02-14 00:03:37 UTC) #25
weiliangc
On 2015/02/14 at 00:03:37, brianderson wrote: > @weiliangc: It looks like https://codereview.chromium.org/781163003/ has enabled STP+SchedulerClient ...
5 years, 10 months ago (2015-02-17 19:18:53 UTC) #26
simonhong
On 2015/02/14 00:03:37, brianderson wrote: > @weiliangc: It looks like https://codereview.chromium.org/781163003/ has enabled > STP+SchedulerClient ...
5 years, 9 months ago (2015-03-02 15:27:20 UTC) #27
brianderson
https://codereview.chromium.org/775143003/diff/200001/cc/scheduler/scheduler.h File cc/scheduler/scheduler.h (right): https://codereview.chromium.org/775143003/diff/200001/cc/scheduler/scheduler.h#newcode204 cc/scheduler/scheduler.h:204: base::TimeTicks last_timebase_; last_vsync_timebase_? https://codereview.chromium.org/775143003/diff/200001/cc/scheduler/scheduler_unittest.cc File cc/scheduler/scheduler_unittest.cc (left): https://codereview.chromium.org/775143003/diff/200001/cc/scheduler/scheduler_unittest.cc#oldcode535 cc/scheduler/scheduler_unittest.cc:535: ...
5 years, 9 months ago (2015-03-02 22:38:17 UTC) #28
simonhong
https://codereview.chromium.org/775143003/diff/200001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (left): https://codereview.chromium.org/775143003/diff/200001/content/browser/renderer_host/render_widget_host_view_mac.mm#oldcode443 content/browser/renderer_host/render_widget_host_view_mac.mm:443: void RenderWidgetHostViewMac::DelegatedFrameHostUpdateVSyncParameters( On 2015/03/02 22:38:16, brianderson wrote: > Can ...
5 years, 9 months ago (2015-03-02 22:52:21 UTC) #29
simonhong
brian, please check again except for adding unittest for AddBeginFrameObserver(). I'm trying to find where ...
5 years, 9 months ago (2015-03-03 22:54:12 UTC) #30
brianderson
Thanks for the updates. Looking good. https://codereview.chromium.org/775143003/diff/200001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (left): https://codereview.chromium.org/775143003/diff/200001/content/browser/renderer_host/render_widget_host_view_mac.mm#oldcode443 content/browser/renderer_host/render_widget_host_view_mac.mm:443: void RenderWidgetHostViewMac::DelegatedFrameHostUpdateVSyncParameters( On ...
5 years, 9 months ago (2015-03-04 02:16:18 UTC) #31
simonhong
brian, I added compositor_unittest.cc Please check again. Thanks!
5 years, 9 months ago (2015-03-06 18:34:26 UTC) #32
brianderson
https://codereview.chromium.org/775143003/diff/260001/ui/compositor/compositor.h File ui/compositor/compositor.h (right): https://codereview.chromium.org/775143003/diff/260001/ui/compositor/compositor.h#newcode305 ui/compositor/compositor.h:305: friend class CompositorTestAPI; Instead of adding a CompositorTestAPI as ...
5 years, 9 months ago (2015-03-06 20:37:00 UTC) #33
danakj
https://codereview.chromium.org/775143003/diff/260001/ui/compositor/compositor_unittest.cc File ui/compositor/compositor_unittest.cc (right): https://codereview.chromium.org/775143003/diff/260001/ui/compositor/compositor_unittest.cc#newcode51 ui/compositor/compositor_unittest.cc:51: const gfx::Rect host_bounds(10, 10, 500, 500); kHostBounds for compile ...
5 years, 9 months ago (2015-03-10 00:40:44 UTC) #34
brianderson
Hi Simon. I think Dana's comment to split the patch up makes sense. It'll be ...
5 years, 9 months ago (2015-03-10 01:36:37 UTC) #35
mithro-old
5 years, 6 months ago (2015-06-01 03:32:31 UTC) #36
Has everything in this patch been split up and landed now? If so we should close
this CL.

Powered by Google App Engine
This is Rietveld 408576698