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

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

Issue 2411793008: Adds BeginFrameControl via DevTools.
Patch Set: BFC prototype v2 with allow_latency_opts and waiting for BFOs. Created 4 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 <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 10
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 // True if we need to abort draws to make forward progress. 263 // True if we need to abort draws to make forward progress.
264 bool PendingDrawsShouldBeAborted() const; 264 bool PendingDrawsShouldBeAborted() const;
265 265
266 bool CouldSendBeginMainFrame() const; 266 bool CouldSendBeginMainFrame() const;
267 267
268 void SetDeferCommits(bool defer_commits); 268 void SetDeferCommits(bool defer_commits);
269 269
270 void SetVideoNeedsBeginFrames(bool video_needs_begin_frames); 270 void SetVideoNeedsBeginFrames(bool video_needs_begin_frames);
271 bool video_needs_begin_frames() const { return video_needs_begin_frames_; } 271 bool video_needs_begin_frames() const { return video_needs_begin_frames_; }
272 272
273 void SetBeginFrameAllowsLatencyOptimizations(
274 bool allow_latency_optimizations);
275
273 protected: 276 protected:
274 bool BeginFrameRequiredForAction() const; 277 bool BeginFrameRequiredForAction() const;
275 bool BeginFrameNeededForVideo() const; 278 bool BeginFrameNeededForVideo() const;
276 bool ProactiveBeginFrameWanted() const; 279 bool ProactiveBeginFrameWanted() const;
277 280
278 bool ShouldTriggerBeginImplFrameDeadlineImmediately() const; 281 bool ShouldTriggerBeginImplFrameDeadlineImmediately() const;
279 282
280 // True if we need to force activations to make forward progress. 283 // True if we need to force activations to make forward progress.
281 // TODO(sunnyps): Rename this to ShouldAbortCurrentFrame or similar. 284 // TODO(sunnyps): Rename this to ShouldAbortCurrentFrame or similar.
282 bool PendingActivationsShouldBeForced() const; 285 bool PendingActivationsShouldBeForced() const;
283 286
284 bool ShouldBeginCompositorFrameSinkCreation() const; 287 bool ShouldBeginCompositorFrameSinkCreation() const;
285 bool ShouldDraw() const; 288 bool ShouldDraw() const;
289 bool ShouldForceDraw() const;
286 bool ShouldActivatePendingTree() const; 290 bool ShouldActivatePendingTree() const;
287 bool ShouldSendBeginMainFrame() const; 291 bool ShouldSendBeginMainFrame() const;
288 bool ShouldCommit() const; 292 bool ShouldCommit() const;
289 bool ShouldPrepareTiles() const; 293 bool ShouldPrepareTiles() const;
290 bool ShouldInvalidateCompositorFrameSink() const; 294 bool ShouldInvalidateCompositorFrameSink() const;
291 295
292 void WillDrawInternal(); 296 void WillDrawInternal();
293 void DidDrawInternal(DrawResult draw_result); 297 void DidDrawInternal(DrawResult draw_result);
294 298
295 const SchedulerSettings settings_; 299 const SchedulerSettings settings_;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 ScrollHandlerState scroll_handler_state_; 341 ScrollHandlerState scroll_handler_state_;
338 bool critical_begin_main_frame_to_activate_is_fast_; 342 bool critical_begin_main_frame_to_activate_is_fast_;
339 bool main_thread_missed_last_deadline_; 343 bool main_thread_missed_last_deadline_;
340 bool skip_next_begin_main_frame_to_reduce_latency_; 344 bool skip_next_begin_main_frame_to_reduce_latency_;
341 bool defer_commits_; 345 bool defer_commits_;
342 bool video_needs_begin_frames_; 346 bool video_needs_begin_frames_;
343 bool last_commit_had_no_updates_; 347 bool last_commit_had_no_updates_;
344 bool wait_for_ready_to_draw_; 348 bool wait_for_ready_to_draw_;
345 bool did_draw_in_last_frame_; 349 bool did_draw_in_last_frame_;
346 bool did_submit_in_last_frame_; 350 bool did_submit_in_last_frame_;
351 bool begin_frame_allows_latency_optimizations_;
347 352
348 private: 353 private:
349 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine); 354 DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine);
350 }; 355 };
351 356
352 } // namespace cc 357 } // namespace cc
353 358
354 #endif // CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ 359 #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