diff options
author | brianderson@chromium.org <brianderson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-12 22:07:48 +0000 |
---|---|---|
committer | brianderson@chromium.org <brianderson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-12 22:07:48 +0000 |
commit | eabe5003b8c42a48e7072de0282c357cb347256d (patch) | |
tree | 288ca2da8467899b1e92a7f92dae3901285a6c04 /cc/scheduler.cc | |
parent | 45ad7197ae1b016fe27f795a75e62fb55de08696 (diff) | |
download | chromium_src-eabe5003b8c42a48e7072de0282c357cb347256d.zip chromium_src-eabe5003b8c42a48e7072de0282c357cb347256d.tar.gz chromium_src-eabe5003b8c42a48e7072de0282c357cb347256d.tar.bz2 |
Decouple texture upload checks, tree activation, and drawing.
This prevents us from drawing more often than we need to
when impl-side-painting is enabled.
It removes the concept of scheduling checkForCompletedSetPixels, instead
checking for completed uploads 1) before determining whether or not to make
the pending tree active and 2) before drawing.
Tree activation is handled in two places now: 1) before calculating
animations and 2) before a vsync tick.
When a pending tree is activated, a request to draw is made.
BUG=168724
Review URL: https://chromiumcodereview.appspot.com/11823043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176596 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/scheduler.cc')
-rw-r--r-- | cc/scheduler.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cc/scheduler.cc b/cc/scheduler.cc index 630d25b..6442414 100644 --- a/cc/scheduler.cc +++ b/cc/scheduler.cc @@ -168,6 +168,9 @@ void Scheduler::processScheduledActions() case SchedulerStateMachine::ACTION_COMMIT: m_client->scheduledActionCommit(); break; + case SchedulerStateMachine::ACTION_ACTIVATE_PENDING_TREE_IF_NEEDED: + m_client->scheduledActionActivatePendingTreeIfNeeded(); + break; case SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE: { ScheduledActionDrawAndSwapResult result = m_client->scheduledActionDrawAndSwapIfPossible(); m_stateMachine.didDrawIfPossibleCompleted(result.didDraw); |