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

Side by Side Diff: cc/scheduler/scheduler_state_machine.h

Issue 1428133003: cc: Add SetNeedsOneBeginImplFrame to the Scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: snanimate: . Created 5 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/scheduler/scheduler_state_machine.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ 5 #ifndef CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_
6 #define CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ 6 #define CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 200
201 // Indicates whether ACTION_DRAW_AND_SWAP_IF_POSSIBLE drew to the screen. 201 // Indicates whether ACTION_DRAW_AND_SWAP_IF_POSSIBLE drew to the screen.
202 void DidDrawIfPossibleCompleted(DrawResult result); 202 void DidDrawIfPossibleCompleted(DrawResult result);
203 203
204 // Indicates that a new begin main frame flow needs to be performed, either 204 // Indicates that a new begin main frame flow needs to be performed, either
205 // to pull updates from the main thread to the impl, or to push deltas from 205 // to pull updates from the main thread to the impl, or to push deltas from
206 // the impl thread to main. 206 // the impl thread to main.
207 void SetNeedsBeginMainFrame(); 207 void SetNeedsBeginMainFrame();
208 bool needs_begin_main_frame() const { return needs_begin_main_frame_; } 208 bool needs_begin_main_frame() const { return needs_begin_main_frame_; }
209 209
210 // Requests a single impl frame (after the current frame if there is one
211 // active).
212 void SetNeedsOneBeginImplFrame();
213
210 // Call this only in response to receiving an ACTION_SEND_BEGIN_MAIN_FRAME 214 // Call this only in response to receiving an ACTION_SEND_BEGIN_MAIN_FRAME
211 // from NextAction. 215 // from NextAction.
212 // Indicates that all painting is complete. 216 // Indicates that all painting is complete.
213 void NotifyReadyToCommit(); 217 void NotifyReadyToCommit();
214 218
215 // Call this only in response to receiving an ACTION_SEND_BEGIN_MAIN_FRAME 219 // Call this only in response to receiving an ACTION_SEND_BEGIN_MAIN_FRAME
216 // from NextAction if the client rejects the BeginMainFrame message. 220 // from NextAction if the client rejects the BeginMainFrame message.
217 void BeginMainFrameAborted(CommitEarlyOutReason reason); 221 void BeginMainFrameAborted(CommitEarlyOutReason reason);
218 222
219 // Indicates production should be skipped to recover latency. 223 // Indicates production should be skipped to recover latency.
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 int prepare_tiles_funnel_; 318 int prepare_tiles_funnel_;
315 319
316 int consecutive_checkerboard_animations_; 320 int consecutive_checkerboard_animations_;
317 int max_pending_swaps_; 321 int max_pending_swaps_;
318 int pending_swaps_; 322 int pending_swaps_;
319 int swaps_with_current_output_surface_; 323 int swaps_with_current_output_surface_;
320 bool needs_redraw_; 324 bool needs_redraw_;
321 bool needs_animate_; 325 bool needs_animate_;
322 bool needs_prepare_tiles_; 326 bool needs_prepare_tiles_;
323 bool needs_begin_main_frame_; 327 bool needs_begin_main_frame_;
328 bool needs_one_begin_impl_frame_;
324 bool visible_; 329 bool visible_;
325 bool resourceless_draw_; 330 bool resourceless_draw_;
326 bool can_draw_; 331 bool can_draw_;
327 bool has_pending_tree_; 332 bool has_pending_tree_;
328 bool pending_tree_is_ready_for_activation_; 333 bool pending_tree_is_ready_for_activation_;
329 bool active_tree_needs_first_draw_; 334 bool active_tree_needs_first_draw_;
330 bool did_create_and_initialize_first_output_surface_; 335 bool did_create_and_initialize_first_output_surface_;
331 bool impl_latency_takes_priority_; 336 bool impl_latency_takes_priority_;
332 bool main_thread_missed_last_deadline_; 337 bool main_thread_missed_last_deadline_;
333 bool skip_next_begin_main_frame_to_reduce_latency_; 338 bool skip_next_begin_main_frame_to_reduce_latency_;
334 bool children_need_begin_frames_; 339 bool children_need_begin_frames_;
335 bool defer_commits_; 340 bool defer_commits_;
336 bool video_needs_begin_frames_; 341 bool video_needs_begin_frames_;
337 bool last_commit_had_no_updates_; 342 bool last_commit_had_no_updates_;
338 bool wait_for_ready_to_draw_; 343 bool wait_for_ready_to_draw_;
339 bool did_request_swap_in_last_frame_; 344 bool did_request_swap_in_last_frame_;
340 bool did_perform_swap_in_last_draw_; 345 bool did_perform_swap_in_last_draw_;
341 346
342 private: 347 private:
343 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine); 348 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine);
344 }; 349 };
345 350
346 } // namespace cc 351 } // namespace cc
347 352
348 #endif // CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ 353 #endif // CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_
OLDNEW
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/scheduler/scheduler_state_machine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698