diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-28 01:47:01 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-28 01:47:01 +0000 |
commit | e8e410d2f494caca27e85c01e35b86b551e04ec4 (patch) | |
tree | a08c60398c94afa39ea13faf4a5106aaa9bad828 /cc/CCSchedulerStateMachine.h | |
parent | 1be30b4b0e942d4a89c649057b14a8e0b84a10e6 (diff) | |
download | chromium_src-e8e410d2f494caca27e85c01e35b86b551e04ec4.zip chromium_src-e8e410d2f494caca27e85c01e35b86b551e04ec4.tar.gz chromium_src-e8e410d2f494caca27e85c01e35b86b551e04ec4.tar.bz2 |
cc: Only avoid resource updates at vsync time when redraw is needed.
This improves resource update throughput while still maintaining minimal
jank during impl side animations. Also allows us to remove resource update
state from scheduler as vsync ticks are now only required when a redraw
is pending.
BUG=145825
TEST=cc_unittests
Review URL: https://chromiumcodereview.appspot.com/10990037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159173 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/CCSchedulerStateMachine.h')
-rw-r--r-- | cc/CCSchedulerStateMachine.h | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/cc/CCSchedulerStateMachine.h b/cc/CCSchedulerStateMachine.h index 2e85e04..c511b0f 100644 --- a/cc/CCSchedulerStateMachine.h +++ b/cc/CCSchedulerStateMachine.h @@ -27,7 +27,6 @@ public: enum CommitState { COMMIT_STATE_IDLE, COMMIT_STATE_FRAME_IN_PROGRESS, - COMMIT_STATE_UPDATING_RESOURCES, COMMIT_STATE_READY_TO_COMMIT, COMMIT_STATE_WAITING_FOR_FIRST_DRAW, }; @@ -54,7 +53,6 @@ public: enum Action { ACTION_NONE, ACTION_BEGIN_FRAME, - ACTION_BEGIN_UPDATE_RESOURCES, ACTION_COMMIT, ACTION_DRAW_IF_POSSIBLE, ACTION_DRAW_FORCED, @@ -97,18 +95,13 @@ public: void setNeedsForcedCommit(); // Call this only in response to receiving an ACTION_BEGIN_FRAME - // from nextState. Indicates that all painting is complete and that - // updating of compositor resources can begin. - void beginFrameComplete(bool hasResourceUpdates); + // from nextState. Indicates that all painting is complete. + void beginFrameComplete(); // Call this only in response to receiving an ACTION_BEGIN_FRAME // from nextState if the client rejects the beginFrame message. void beginFrameAborted(); - // Call this only in response to receiving an ACTION_BEGIN_UPDATE_RESOURCES - // from nextState. Indicates that all resource updates completed. - void updateResourcesComplete(); - // Request exclusive access to the textures that back single buffered // layers on behalf of the main thread. Upon acqusition, // ACTION_DRAW_IF_POSSIBLE will not draw until the main thread releases the @@ -151,7 +144,6 @@ protected: bool m_needsCommit; bool m_needsForcedCommit; bool m_mainThreadNeedsLayerTextures; - bool m_updateResourcesCompletePending; bool m_insideVSync; bool m_visible; bool m_canBeginFrame; |