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

Issue 2632563003: [cc] Calculate the correct latest_confirmed_sequence_number in cc::Scheduler. (Closed)

Created:
3 years, 11 months ago by Eric Seckler
Modified:
3 years, 10 months ago
Reviewers:
brianderson, sunnyps, boliu, Sami
CC:
chromium-reviews, cc-bugs_chromium.org, scheduler-bugs_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[cc] Calculate the correct latest_confirmed_sequence_number in cc::Scheduler. We track freshness frame numbers for the different trees in cc::SchedulerStateMachine and use them to fill the BeginFrameAck's latest_confirmed_sequence_number in cc::Scheduler. BUG=646774, 401331 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2632563003 Cr-Commit-Position: refs/heads/master@{#452997} Committed: https://chromium.googlesource.com/chromium/src/+/37da9b3e656ac85c42e3f375e84b55c98b397da1

Patch Set 1 #

Total comments: 8

Patch Set 2 : Track sequence nrs separately from OnBeginImplFrame and frame nrs. #

Patch Set 3 : Fix handling of source_id changes and add some Scheduler tests. #

Total comments: 4

Patch Set 4 : remove probably unreachable branch. #

Patch Set 5 : Branch is reachable after all, adds a test that triggers it. #

Patch Set 6 : replace all latest_confirmed_frame with latest_confirmed_sequence_number. #

Patch Set 7 : rebase. #

Total comments: 16

Patch Set 8 : Address Brian's comments. #

Patch Set 9 : Move CompositorFrame freshness updates + address other comments. #

Total comments: 3

Patch Set 10 : Add tests, fix DRAW_ABORT and sync renderer compositor. #

Total comments: 3

Patch Set 11 : add expectations for another commit_to_active_tree test. #

Patch Set 12 : handle BeginFrameDropped and add test for it. #

Total comments: 3

Patch Set 13 : rename accessor. #

Patch Set 14 : rebase #

Patch Set 15 : add todo for impl-side invalidations. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1032 lines, -146 lines) Patch
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +37 lines, -27 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +29 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 12 chunks +126 lines, -3 lines 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 84 chunks +439 lines, -85 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 8 chunks +357 lines, -16 lines 0 comments Download
M cc/surfaces/display_scheduler_unittest.cc View 1 2 3 4 5 6 1 chunk +3 lines, -6 lines 0 comments Download
M cc/test/fake_external_begin_frame_source.h View 1 2 3 chunks +16 lines, -1 line 0 comments Download
M cc/test/fake_external_begin_frame_source.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +21 lines, -6 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 73 (45 generated)
Eric Seckler
Sami, Brian, I'm sending this to both of you - an additional set of eyes ...
3 years, 11 months ago (2017-01-13 11:17:14 UTC) #7
brianderson
https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc#newcode438 cc/scheduler/scheduler.cc:438: begin_main_frame_args_.source_id, The begin_main_frame_args_.source_id at this point might not correspond ...
3 years, 11 months ago (2017-01-13 19:13:49 UTC) #8
Sami
Great points Brian! https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc#newcode438 cc/scheduler/scheduler.cc:438: begin_main_frame_args_.source_id, On 2017/01/13 19:13:49, brianderson wrote: ...
3 years, 11 months ago (2017-01-16 10:41:02 UTC) #9
Eric Seckler
Thank you, Brian & Sami! https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc#newcode438 cc/scheduler/scheduler.cc:438: begin_main_frame_args_.source_id, On 2017/01/16 10:41:02, ...
3 years, 11 months ago (2017-01-16 14:33:01 UTC) #12
Eric Seckler
https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/1/cc/scheduler/scheduler.cc#newcode438 cc/scheduler/scheduler.cc:438: begin_main_frame_args_.source_id, On 2017/01/16 14:33:01, Eric Seckler wrote: > On ...
3 years, 11 months ago (2017-01-17 18:01:24 UTC) #15
Eric Seckler
Next attempt :) I think this should fix the issues with changing source_id by handling ...
3 years, 11 months ago (2017-01-18 18:13:03 UTC) #16
brianderson
https://codereview.chromium.org/2632563003/diff/40001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/40001/cc/scheduler/scheduler.cc#newcode334 cc/scheduler/scheduler.cc:334: if (!observing_begin_frame_source_) { On 2017/01/18 18:13:03, Eric Seckler wrote: ...
3 years, 11 months ago (2017-01-18 19:53:54 UTC) #17
Eric Seckler
https://codereview.chromium.org/2632563003/diff/40001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/40001/cc/scheduler/scheduler.cc#newcode334 cc/scheduler/scheduler.cc:334: if (!observing_begin_frame_source_) { On 2017/01/18 19:53:54, brianderson wrote: > ...
3 years, 11 months ago (2017-01-18 20:27:23 UTC) #18
Eric Seckler
+Sunny for feedback regarding discussion below. Maybe you can think of a case we're missing ...
3 years, 11 months ago (2017-01-20 17:31:32 UTC) #20
Eric Seckler
On 2017/01/20 17:31:32, Eric Seckler wrote: > Had another look at this with Sami today ...
3 years, 11 months ago (2017-01-23 14:31:15 UTC) #33
Eric Seckler
On 2017/01/23 14:31:15, Eric Seckler wrote: > On 2017/01/20 17:31:32, Eric Seckler wrote: > > ...
3 years, 11 months ago (2017-01-25 15:21:41 UTC) #34
brianderson
> Chatted to Sami regarding the tile preparation. For our use in headless, maybe > ...
3 years, 10 months ago (2017-02-14 22:24:54 UTC) #40
brianderson
Still need to review the tests. https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler.cc#newcode338 cc/scheduler/scheduler.cc:338: state_machine_.OnBeginFrameDroppedNotObserving(args.source_id, Why don't ...
3 years, 10 months ago (2017-02-14 22:51:09 UTC) #41
Eric Seckler
Thank you :) https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler.cc#newcode338 cc/scheduler/scheduler.cc:338: state_machine_.OnBeginFrameDroppedNotObserving(args.source_id, On 2017/02/14 22:51:08, brianderson wrote: ...
3 years, 10 months ago (2017-02-14 23:43:45 UTC) #43
brianderson
Still need to look at the state machine unit tests in detail, but I noticed ...
3 years, 10 months ago (2017-02-14 23:58:56 UTC) #45
brianderson
https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler_state_machine_unittest.cc File cc/scheduler/scheduler_state_machine_unittest.cc (right): https://codereview.chromium.org/2632563003/diff/140001/cc/scheduler/scheduler_state_machine_unittest.cc#newcode2295 cc/scheduler/scheduler_state_machine_unittest.cc:2295: EXPECT_SEQUENCE_NUMBERS(12u, 10u, 12u, BeginFrameArgs::kInvalidFrameNumber, Can you verify that before ...
3 years, 10 months ago (2017-02-15 00:13:55 UTC) #46
Eric Seckler
On 2017/02/14 23:58:56, brianderson wrote: > Still need to look at the state machine unit ...
3 years, 10 months ago (2017-02-17 00:07:27 UTC) #49
Eric Seckler
Brian, PTAL :) On 2017/02/17 00:07:27, Eric Seckler wrote: > On 2017/02/14 23:58:56, brianderson wrote: ...
3 years, 10 months ago (2017-02-22 12:09:01 UTC) #50
brianderson
lgtm. Do we need any more commit_to_active_tree tests? Feel free to land them before I ...
3 years, 10 months ago (2017-02-22 23:27:05 UTC) #52
boliu
https://codereview.chromium.org/2632563003/diff/200001/cc/scheduler/scheduler_unittest.cc File cc/scheduler/scheduler_unittest.cc (right): https://codereview.chromium.org/2632563003/diff/200001/cc/scheduler/scheduler_unittest.cc#newcode2921 cc/scheduler/scheduler_unittest.cc:2921: // forwarding the one attached to the later submitted ...
3 years, 10 months ago (2017-02-23 05:28:24 UTC) #53
Eric Seckler
On 2017/02/22 23:27:05, brianderson wrote: > lgtm. > > Do we need any more commit_to_active_tree ...
3 years, 10 months ago (2017-02-23 10:13:10 UTC) #54
Eric Seckler
Had to make another small change, PTAL :) https://codereview.chromium.org/2632563003/diff/240001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2632563003/diff/240001/cc/scheduler/scheduler.cc#newcode267 cc/scheduler/scheduler.cc:267: SendBeginFrameAck(args, ...
3 years, 10 months ago (2017-02-23 12:58:00 UTC) #59
brianderson
lgtm after small nit. https://codereview.chromium.org/2632563003/diff/240001/cc/test/scheduler_test_common.h File cc/test/scheduler_test_common.h (right): https://codereview.chromium.org/2632563003/diff/240001/cc/test/scheduler_test_common.h#newcode147 cc/test/scheduler_test_common.h:147: bool StateMachineNeedsBeginFrames() const { Remove ...
3 years, 10 months ago (2017-02-23 20:20:36 UTC) #60
Eric Seckler
Thanks! https://codereview.chromium.org/2632563003/diff/240001/cc/test/scheduler_test_common.h File cc/test/scheduler_test_common.h (right): https://codereview.chromium.org/2632563003/diff/240001/cc/test/scheduler_test_common.h#newcode147 cc/test/scheduler_test_common.h:147: bool StateMachineNeedsBeginFrames() const { On 2017/02/23 20:20:36, brianderson ...
3 years, 10 months ago (2017-02-24 15:35:31 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2632563003/260001
3 years, 10 months ago (2017-02-24 15:35:56 UTC) #64
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/159767) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 10 months ago (2017-02-24 15:37:41 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2632563003/320001
3 years, 10 months ago (2017-02-24 21:51:09 UTC) #70
commit-bot: I haz the power
3 years, 10 months ago (2017-02-24 23:37:43 UTC) #73
Message was sent while issue was closed.
Committed patchset #15 (id:320001) as
https://chromium.googlesource.com/chromium/src/+/37da9b3e656ac85c42e3f375e84b...

Powered by Google App Engine
This is Rietveld 408576698