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

Issue 2061273002: cc: Make BackToBackBeginFrameSource a SyntheticBeginFrameSource. (Closed)

Created:
4 years, 6 months ago by danakj
Modified:
4 years, 6 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, jbauman, kalyank, piman+watch_chromium.org, rjkroege, scheduler-bugs_chromium.org, sievers+watch_chromium.org, Ian Vollick
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Make BackToBackBeginFrameSource a SyntheticBeginFrameSource. This means that we can pass a single BeginFrameSource to the Display's OutputSurface, and to the Display, and they agree on which BeginFrameSource they are using. This is a prereq for https://codereview.chromium.org/2029323004/ R=brianderson@chromium.org, enne BUG=487471 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/15ec524d5a9a6ef343c838d55b713fb492b4250f Cr-Commit-Position: refs/heads/master@{#400025}

Patch Set 1 #

Patch Set 2 : syntheticbeginframesource: rebase #

Patch Set 3 : syntheticbeginframesource: ozone #

Patch Set 4 : syntheticbeginframesource: nits #

Patch Set 5 : syntheticbeginframesource: onemorenit #

Total comments: 5

Patch Set 6 : syntheticbeginframesource: deleted #

Total comments: 2

Patch Set 7 : syntheticbeginframesource: delete-commented-dcheck #

Patch Set 8 : syntheticbeginframesource: backtoback-subclass #

Patch Set 9 : syntheticbeginframesource: no-more-bfs-base #

Total comments: 9

Patch Set 10 : syntheticbeginframesource: comment #

Patch Set 11 : syntheticbeginframesource: noproxy #

Patch Set 12 : syntheticbeginframesource: unordered_set #

Patch Set 13 : syntheticbeginframesource: delete-DEBUG_FRAMES #

Unified diffs Side-by-side diffs Delta from patch set Stats (+477 lines, -680 lines) Patch
M cc/scheduler/begin_frame_source.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +37 lines, -68 lines 0 comments Download
M cc/scheduler/begin_frame_source.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +61 lines, -116 lines 0 comments Download
M cc/scheduler/begin_frame_source_unittest.cc View 1 2 3 4 5 6 7 8 16 chunks +79 lines, -196 lines 0 comments Download
M cc/scheduler/delay_based_time_source.h View 2 chunks +1 line, -9 lines 0 comments Download
M cc/scheduler/delay_based_time_source.cc View 1 2 3 4 5 6 3 chunks +12 lines, -11 lines 0 comments Download
M cc/scheduler/delay_based_time_source_unittest.cc View 14 chunks +42 lines, -29 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +22 lines, -36 lines 0 comments Download
M cc/surfaces/display.cc View 1 2 3 4 5 6 7 3 chunks +4 lines, -2 lines 0 comments Download
M cc/surfaces/display_scheduler_unittest.cc View 1 2 3 4 5 6 7 8 3 chunks +4 lines, -2 lines 0 comments Download
M cc/surfaces/surface_display_output_surface_unittest.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -1 line 0 comments Download
M cc/test/fake_external_begin_frame_source.h View 1 2 3 4 5 6 7 8 1 chunk +29 lines, -8 lines 0 comments Download
M cc/test/fake_external_begin_frame_source.cc View 1 2 3 4 5 6 7 8 3 chunks +44 lines, -12 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M cc/test/pixel_test_delegating_output_surface.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -1 line 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 3 4 5 6 7 8 3 chunks +4 lines, -73 lines 0 comments Download
M cc/test/scheduler_test_common.cc View 1 2 3 4 5 6 7 8 2 chunks +1 line, -32 lines 0 comments Download
M cc/trees/proxy_impl.cc View 1 2 3 4 5 6 7 3 chunks +9 lines, -13 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 3 chunks +6 lines, -9 lines 0 comments Download
M components/mus/surfaces/direct_output_surface.cc View 1 2 3 4 5 6 7 2 chunks +4 lines, -3 lines 0 comments Download
M components/mus/surfaces/direct_output_surface_ozone.cc View 1 2 3 4 5 6 7 2 chunks +4 lines, -3 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 4 chunks +8 lines, -9 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +45 lines, -28 lines 0 comments Download
M content/renderer/gpu/compositor_external_begin_frame_source.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +10 lines, -3 lines 0 comments Download
M content/renderer/gpu/compositor_external_begin_frame_source.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +36 lines, -11 lines 0 comments Download
M content/test/fake_compositor_dependencies.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 1 2 3 4 5 6 7 2 chunks +5 lines, -3 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 60 (19 generated)
danakj
4 years, 6 months ago (2016-06-14 18:12:01 UTC) #2
danakj
+fsamuel for mus
4 years, 6 months ago (2016-06-14 18:12:20 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/1
4 years, 6 months ago (2016-06-14 18:12:26 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/20817) ios-device-gn on ...
4 years, 6 months ago (2016-06-14 18:14:38 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/20001
4 years, 6 months ago (2016-06-14 18:26:28 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_x86-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-generic_chromium_compile_only_ng/builds/152716)
4 years, 6 months ago (2016-06-14 18:35:44 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/40001
4 years, 6 months ago (2016-06-14 18:37:11 UTC) #16
Fady Samuel
lgtm
4 years, 6 months ago (2016-06-14 18:45:11 UTC) #17
danakj
The changed tests are all in begin_frame_source_unittests.cc for BackToBack. I added a comment on every ...
4 years, 6 months ago (2016-06-14 19:59:43 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/80001
4 years, 6 months ago (2016-06-14 20:00:15 UTC) #20
enne (OOO)
I do feel like this really complicates SyntheticBeginFrameSource, but as long as the tests keep ...
4 years, 6 months ago (2016-06-14 21:25:18 UTC) #21
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-14 21:40:01 UTC) #23
danakj
https://codereview.chromium.org/2061273002/diff/80001/cc/test/scheduler_test_common.h File cc/test/scheduler_test_common.h (right): https://codereview.chromium.org/2061273002/diff/80001/cc/test/scheduler_test_common.h#newcode99 cc/test/scheduler_test_common.h:99: class TestBackToBackBeginFrameSource : public BeginFrameSourceBase { On 2016/06/14 21:25:17, ...
4 years, 6 months ago (2016-06-14 21:53:24 UTC) #24
danakj
On Tue, Jun 14, 2016 at 2:25 PM, enne@chromium.org via codereview.chromium.org <reply@chromiumcodereview-hr.appspotmail.com> wrote: > I ...
4 years, 6 months ago (2016-06-14 21:55:37 UTC) #25
brianderson
Is the intention to eventually make throttling vs. not a setting that can change at ...
4 years, 6 months ago (2016-06-14 21:59:49 UTC) #26
danakj
https://codereview.chromium.org/2061273002/diff/80001/cc/test/scheduler_test_common.h File cc/test/scheduler_test_common.h (right): https://codereview.chromium.org/2061273002/diff/80001/cc/test/scheduler_test_common.h#newcode99 cc/test/scheduler_test_common.h:99: class TestBackToBackBeginFrameSource : public BeginFrameSourceBase { On 2016/06/14 21:53:23, ...
4 years, 6 months ago (2016-06-14 22:00:16 UTC) #27
danakj
On Tue, Jun 14, 2016 at 2:59 PM, <brianderson@chromium.org> wrote: > Is the intention to ...
4 years, 6 months ago (2016-06-14 22:04:18 UTC) #28
brianderson
On 2016/06/14 22:04:18, danakj wrote: > On Tue, Jun 14, 2016 at 2:59 PM, <mailto:brianderson@chromium.org> ...
4 years, 6 months ago (2016-06-14 22:23:08 UTC) #30
bajones
On 2016/06/14 22:23:08, brianderson wrote: > +bajones to comment on the runtime vsync option, since ...
4 years, 6 months ago (2016-06-14 22:45:20 UTC) #31
danakj
On Tue, Jun 14, 2016 at 3:23 PM, <brianderson@chromium.org> wrote: > On 2016/06/14 22:04:18, danakj ...
4 years, 6 months ago (2016-06-14 22:59:17 UTC) #32
enne (OOO)
lgtm https://codereview.chromium.org/2061273002/diff/100001/cc/scheduler/delay_based_time_source.cc File cc/scheduler/delay_based_time_source.cc (right): https://codereview.chromium.org/2061273002/diff/100001/cc/scheduler/delay_based_time_source.cc#newcode85 cc/scheduler/delay_based_time_source.cc:85: // DCHECK_GT(interval, base::TimeDelta()); ??
4 years, 6 months ago (2016-06-14 23:13:44 UTC) #33
danakj
https://codereview.chromium.org/2061273002/diff/100001/cc/scheduler/delay_based_time_source.cc File cc/scheduler/delay_based_time_source.cc (right): https://codereview.chromium.org/2061273002/diff/100001/cc/scheduler/delay_based_time_source.cc#newcode85 cc/scheduler/delay_based_time_source.cc:85: // DCHECK_GT(interval, base::TimeDelta()); On 2016/06/14 23:13:44, enne wrote: > ...
4 years, 6 months ago (2016-06-14 23:15:24 UTC) #34
danakj
The latest patch set makes BackToBackBFS and DelayBasedBFS both subclasses of a SyntheticBeginFrameSource interface. The ...
4 years, 6 months ago (2016-06-15 00:54:02 UTC) #35
danakj
PTAL. BeginFrameSource is pure virtual. SynthethicBeginFrameSource is a subclass that is pure virtual. BeginFrameSourceBase is ...
4 years, 6 months ago (2016-06-15 18:48:21 UTC) #36
danakj
+piman for content/
4 years, 6 months ago (2016-06-15 19:22:52 UTC) #38
enne (OOO)
I like this approach better than the previous patches. Getting rid of BeginFrameSourceBase is nice. ...
4 years, 6 months ago (2016-06-15 19:46:56 UTC) #39
piman
https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc File content/renderer/gpu/compositor_external_begin_frame_source.cc (right): https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc#newcode107 content/renderer/gpu/compositor_external_begin_frame_source.cc:107: std::set<cc::BeginFrameObserver*> observers(observers_); Would it make sense to use ObserverList ...
4 years, 6 months ago (2016-06-15 19:48:14 UTC) #40
danakj
https://codereview.chromium.org/2061273002/diff/160001/cc/scheduler/begin_frame_source.cc File cc/scheduler/begin_frame_source.cc (right): https://codereview.chromium.org/2061273002/diff/160001/cc/scheduler/begin_frame_source.cc#newcode71 cc/scheduler/begin_frame_source.cc:71: // Generate a new BeginFrame tick. On 2016/06/15 19:46:56, ...
4 years, 6 months ago (2016-06-15 19:56:05 UTC) #41
danakj
https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc File content/renderer/gpu/compositor_external_begin_frame_source.cc (right): https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc#newcode107 content/renderer/gpu/compositor_external_begin_frame_source.cc:107: std::set<cc::BeginFrameObserver*> observers(observers_); On 2016/06/15 19:56:05, danakj wrote: > On ...
4 years, 6 months ago (2016-06-15 19:58:00 UTC) #42
danakj
https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc File content/renderer/gpu/compositor_external_begin_frame_source.cc (right): https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc#newcode107 content/renderer/gpu/compositor_external_begin_frame_source.cc:107: std::set<cc::BeginFrameObserver*> observers(observers_); On 2016/06/15 19:58:00, danakj wrote: > On ...
4 years, 6 months ago (2016-06-15 20:23:41 UTC) #43
danakj
https://codereview.chromium.org/2061273002/diff/160001/cc/scheduler/scheduler_unittest.cc File cc/scheduler/scheduler_unittest.cc (right): https://codereview.chromium.org/2061273002/diff/160001/cc/scheduler/scheduler_unittest.cc#newcode203 cc/scheduler/scheduler_unittest.cc:203: class BeginSourceToSchedulerClientProxy On 2016/06/15 19:46:56, enne wrote: > class ...
4 years, 6 months ago (2016-06-15 20:35:57 UTC) #44
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/200001
4 years, 6 months ago (2016-06-15 20:36:38 UTC) #46
piman
On 2016/06/15 20:23:41, danakj wrote: > https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc > File content/renderer/gpu/compositor_external_begin_frame_source.cc (right): > > https://codereview.chromium.org/2061273002/diff/160001/content/renderer/gpu/compositor_external_begin_frame_source.cc#newcode107 > ...
4 years, 6 months ago (2016-06-15 20:41:08 UTC) #47
danakj
On Wed, Jun 15, 2016 at 1:41 PM, <piman@chromium.org> wrote: > On 2016/06/15 20:23:41, danakj ...
4 years, 6 months ago (2016-06-15 20:44:27 UTC) #48
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/220001
4 years, 6 months ago (2016-06-15 20:46:31 UTC) #50
danakj
After talking with enne@ it seems like the DEBUG_FRAMES was something used during development but ...
4 years, 6 months ago (2016-06-15 20:49:35 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2061273002/240001
4 years, 6 months ago (2016-06-15 20:50:02 UTC) #54
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 6 months ago (2016-06-15 22:13:57 UTC) #56
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-15 22:14:10 UTC) #57
commit-bot: I haz the power
Patchset 13 (id:??) landed as https://crrev.com/15ec524d5a9a6ef343c838d55b713fb492b4250f Cr-Commit-Position: refs/heads/master@{#400025}
4 years, 6 months ago (2016-06-15 22:15:32 UTC) #59
brianderson
4 years, 6 months ago (2016-06-16 18:47:34 UTC) #60
Message was sent while issue was closed.
Was out yesterday, but had a change to take a look at this today. lgtm. Thanks
for the cleanups!

Powered by Google App Engine
This is Rietveld 408576698