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

Unified Diff: cc/scheduler/scheduler_state_machine.h

Issue 206793003: cc: Split animating and drawing into separate actions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments and rebased. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/scheduler/scheduler_state_machine.h
diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h
index c8d68fc429dbc2b4aa1b02211a4d8394e5f5cf5d..7a025282d57e13ce7de1fff46031f45f1ee40341 100644
--- a/cc/scheduler/scheduler_state_machine.h
+++ b/cc/scheduler/scheduler_state_machine.h
@@ -101,6 +101,7 @@ class CC_EXPORT SchedulerStateMachine {
enum Action {
ACTION_NONE,
+ ACTION_ANIMATE,
ACTION_SEND_BEGIN_MAIN_FRAME,
ACTION_COMMIT,
ACTION_UPDATE_VISIBLE_TILES,
@@ -164,6 +165,9 @@ class CC_EXPORT SchedulerStateMachine {
void SetNeedsRedraw();
bool needs_redraw() const { return needs_redraw_; }
+ void SetNeedsAnimate();
+ bool needs_animate() const { return needs_animate_; }
+
// Indicates that manage-tiles is required. This guarantees another
// ManageTiles will occur shortly (even if no redraw is required).
void SetNeedsManageTiles();
@@ -243,6 +247,7 @@ class CC_EXPORT SchedulerStateMachine {
// True if we need to force activations to make forward progress.
bool PendingActivationsShouldBeForced() const;
+ bool ShouldAnimate() const;
bool ShouldBeginOutputSurfaceCreation() const;
bool ShouldDrawForced() const;
bool ShouldDraw() const;
@@ -275,6 +280,7 @@ class CC_EXPORT SchedulerStateMachine {
int commit_count_;
int current_frame_number_;
+ int last_frame_number_animate_performed_;
int last_frame_number_swap_performed_;
int last_frame_number_begin_main_frame_sent_;
int last_frame_number_update_visible_tiles_was_called_;
@@ -286,6 +292,7 @@ class CC_EXPORT SchedulerStateMachine {
int manage_tiles_funnel_;
int consecutive_checkerboard_animations_;
bool needs_redraw_;
+ bool needs_animate_;
bool needs_manage_tiles_;
bool swap_used_incomplete_tile_;
bool needs_commit_;

Powered by Google App Engine
This is Rietveld 408576698