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

Issue 27200003: Trigger deadline immediately after an aborted main thread commit (Closed)

Created:
7 years, 2 months ago by Sami
Modified:
7 years, 2 months ago
Reviewers:
brianderson
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

Trigger deadline immediately after an aborted main thread commit If the main thread aborts a commit, check if we should trigger the begin frame deadline immediately. This fixes a problem where the first frame in response to a scroll gesture is delayed to the next frame. The sequence of events is: 1. Impl thread receives ScrollBegin event. 2. Impl thread receives BeginFrame event. 3. Impl thread receives ScrollBy event. It applies the new scroll offset to the active tree and requests both a commit (to tell the main thread about the new scroll offset) and a draw. 3. Commit begins, but the main thread aborts it because only the scroll offset changed. 4. Impl thread is told about aborted commit, but instead of drawing the new frame it does nothing. BUG=306958 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=229115

Patch Set 1 #

Total comments: 1

Patch Set 2 : Check for pending tree. Add test. #

Total comments: 2

Patch Set 3 : Fix early-out case. #

Patch Set 4 : Trigger deadline in ProcessScheduledActions to cover more cases. #

Patch Set 5 : Fix unit test DCHECK failure. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -13 lines) Patch
M cc/scheduler/scheduler.cc View 1 2 3 3 chunks +3 lines, -5 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 1 chunk +17 lines, -3 lines 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 6 chunks +39 lines, -5 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
Sami
N.B. this patch is mainly for discussion since we're not sure how to best solve ...
7 years, 2 months ago (2013-10-14 16:44:14 UTC) #1
brianderson
I think this solution will actually work very well. It prioritizes impl-thread latency when the ...
7 years, 2 months ago (2013-10-15 10:00:22 UTC) #2
Sami
Thanks, Brian. I've updated the patch accordingly (N.B. !has_pending_tree instead has_pending_tree) and added a test. ...
7 years, 2 months ago (2013-10-15 14:33:15 UTC) #3
brianderson
https://codereview.chromium.org/27200003/diff/6001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/27200003/diff/6001/cc/scheduler/scheduler_state_machine.cc#newcode886 cc/scheduler/scheduler_state_machine.cc:886: return true; Sorry, I meant to split this into ...
7 years, 2 months ago (2013-10-15 15:02:31 UTC) #4
Sami
https://codereview.chromium.org/27200003/diff/6001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/27200003/diff/6001/cc/scheduler/scheduler_state_machine.cc#newcode886 cc/scheduler/scheduler_state_machine.cc:886: return true; On 2013/10/15 15:02:32, Brian Anderson wrote: > ...
7 years, 2 months ago (2013-10-15 15:12:51 UTC) #5
brianderson
lgtm. Thanks for the test and thanks for catching the regression.
7 years, 2 months ago (2013-10-15 15:54:02 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/27200003/15001
7 years, 2 months ago (2013-10-15 16:02:12 UTC) #7
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) cc_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=177813
7 years, 2 months ago (2013-10-15 16:57:48 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/27200003/36001
7 years, 2 months ago (2013-10-16 10:38:02 UTC) #9
commit-bot: I haz the power
Retried try job too often on win7_aura for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win7_aura&number=89167
7 years, 2 months ago (2013-10-16 19:46:43 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/27200003/36001
7 years, 2 months ago (2013-10-17 09:07:25 UTC) #11
commit-bot: I haz the power
7 years, 2 months ago (2013-10-17 13:13:01 UTC) #12
Message was sent while issue was closed.
Change committed as 229115

Powered by Google App Engine
This is Rietveld 408576698