Descriptioncc: 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 #
Messages
Total messages: 6 (0 generated)
|