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

Unified Diff: cc/scheduler/scheduler.cc

Issue 1681393003: cc: Add MainAndImplFrameTimeDelta UMA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Non bool version; Fix abort bug; Created 4 years, 10 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.cc
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
index f6dfccbaf8637325d5326abdadeabe18ecc08fe7..37811c03ff47c6d4cfb5ab43969fbb2be3d1d0ae 100644
--- a/cc/scheduler/scheduler.cc
+++ b/cc/scheduler/scheduler.cc
@@ -664,21 +664,29 @@ void Scheduler::OnBeginImplFrameDeadline() {
void Scheduler::DrawAndSwapIfPossible() {
bool drawing_with_new_active_tree =
state_machine_.active_tree_needs_first_draw();
+ bool main_thread_missed_last_deadline =
+ state_machine_.main_thread_missed_last_deadline();
compositor_timing_history_->WillDraw();
state_machine_.WillDraw();
DrawResult result = client_->ScheduledActionDrawAndSwapIfPossible();
state_machine_.DidDraw(result);
- compositor_timing_history_->DidDraw(drawing_with_new_active_tree);
+ compositor_timing_history_->DidDraw(
+ drawing_with_new_active_tree, main_thread_missed_last_deadline,
+ begin_impl_frame_tracker_.DangerousMethodCurrentOrLast().frame_time);
}
void Scheduler::DrawAndSwapForced() {
bool drawing_with_new_active_tree =
state_machine_.active_tree_needs_first_draw();
+ bool main_thread_missed_last_deadline =
+ state_machine_.main_thread_missed_last_deadline();
compositor_timing_history_->WillDraw();
state_machine_.WillDraw();
DrawResult result = client_->ScheduledActionDrawAndSwapForced();
state_machine_.DidDraw(result);
- compositor_timing_history_->DidDraw(drawing_with_new_active_tree);
+ compositor_timing_history_->DidDraw(
+ drawing_with_new_active_tree, main_thread_missed_last_deadline,
+ begin_impl_frame_tracker_.DangerousMethodCurrentOrLast().frame_time);
}
void Scheduler::SetDeferCommits(bool defer_commits) {
@@ -711,7 +719,8 @@ void Scheduler::ProcessScheduledActions() {
break;
case SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME:
compositor_timing_history_->WillBeginMainFrame(
- begin_main_frame_args_.on_critical_path);
+ begin_main_frame_args_.on_critical_path,
+ begin_main_frame_args_.frame_time);
state_machine_.WillSendBeginMainFrame();
// TODO(brianderson): Pass begin_main_frame_args_ directly to client.
client_->ScheduledActionSendBeginMainFrame(begin_main_frame_args_);

Powered by Google App Engine
This is Rietveld 408576698