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

Issue 25494009: cc: Fix disabled vsync state freezing (Closed)

Created:
7 years, 2 months ago by enne (OOO)
Modified:
7 years, 2 months ago
Reviewers:
brianderson
CC:
chromium-reviews, cc-bugs_chromium.org, epenner
Visibility:
Public.

Description

cc: Fix disabled vsync state freezing Previously, when vsync was disabled the scheduler state machine would never proactively request a new begin frame message. This logic was tightly coupled to commits not being aborted and causing a redraw, incrementing the frame number, and allowing a number of the "only once per frame" logic in the state machine to proceed. Instead, treat disabled vsync like the synchronous compositor. In both cases, it's undesirable to proactively request a begin frame. For the synchronous compositor, this is because every begin frame results in a draw. For the unthrottled disabled vsync case, this is because if the compositor can't draw it will get into a tight loop of continuing to request new begin frames. By lumping it with the synchronous compositor logic, it will periodically poll to see if it needs to start a new frame rather than freezing forever. R=brianderson@chromium.org BUG=303293 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=227060

Patch Set 1 #

Patch Set 2 : Now with test, and formatted #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -12 lines) Patch
M cc/scheduler/scheduler.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 chunk +2 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 4 chunks +10 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 chunks +21 lines, -5 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
enne (OOO)
PTAL
7 years, 2 months ago (2013-10-03 20:07:03 UTC) #1
brianderson
lgtm. I like the SupportsProactiveBeginFrame abstraction. We'll want to add tests to make sure we ...
7 years, 2 months ago (2013-10-03 20:17:51 UTC) #2
brianderson
A useful test for this particular regression would be similar to LayerTreeHostTestAbortedCommitDoesntStallNextCommitWhenIdle, except that instead ...
7 years, 2 months ago (2013-10-04 15:40:05 UTC) #3
brianderson
Thanks for the test and avoiding test duplication. lgtm.
7 years, 2 months ago (2013-10-04 17:24:39 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/enne@chromium.org/25494009/6001
7 years, 2 months ago (2013-10-04 17:25:05 UTC) #5
commit-bot: I haz the power
7 years, 2 months ago (2013-10-04 19:49:22 UTC) #6
Message was sent while issue was closed.
Change committed as 227060

Powered by Google App Engine
This is Rietveld 408576698