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

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

Issue 1423803004: cc: Record UMA for swap to swap ack latency. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@iltpFutile4
Patch Set: 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
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 #include "cc/scheduler/scheduler.h" 5 #include "cc/scheduler/scheduler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 DCHECK(!IsInsideAction(SchedulerStateMachine::ACTION_PREPARE_TILES)); 191 DCHECK(!IsInsideAction(SchedulerStateMachine::ACTION_PREPARE_TILES));
192 state_machine_.SetNeedsPrepareTiles(); 192 state_machine_.SetNeedsPrepareTiles();
193 ProcessScheduledActions(); 193 ProcessScheduledActions();
194 } 194 }
195 195
196 void Scheduler::SetMaxSwapsPending(int max) { 196 void Scheduler::SetMaxSwapsPending(int max) {
197 state_machine_.SetMaxSwapsPending(max); 197 state_machine_.SetMaxSwapsPending(max);
198 } 198 }
199 199
200 void Scheduler::DidSwapBuffers() { 200 void Scheduler::DidSwapBuffers() {
201 compositor_timing_history_->DidSwapBuffers();
201 state_machine_.DidSwapBuffers(); 202 state_machine_.DidSwapBuffers();
202 203
203 // There is no need to call ProcessScheduledActions here because 204 // There is no need to call ProcessScheduledActions here because
204 // swapping should not trigger any new actions. 205 // swapping should not trigger any new actions.
205 if (!inside_process_scheduled_actions_) { 206 if (!inside_process_scheduled_actions_) {
206 DCHECK_EQ(state_machine_.NextAction(), SchedulerStateMachine::ACTION_NONE); 207 DCHECK_EQ(state_machine_.NextAction(), SchedulerStateMachine::ACTION_NONE);
207 } 208 }
208 } 209 }
209 210
210 void Scheduler::DidSwapBuffersComplete() { 211 void Scheduler::DidSwapBuffersComplete() {
211 DCHECK_GT(state_machine_.pending_swaps(), 0) << AsValue()->ToString(); 212 DCHECK_GT(state_machine_.pending_swaps(), 0) << AsValue()->ToString();
213 compositor_timing_history_->DidSwapBuffersComplete();
212 state_machine_.DidSwapBuffersComplete(); 214 state_machine_.DidSwapBuffersComplete();
213 ProcessScheduledActions(); 215 ProcessScheduledActions();
214 } 216 }
215 217
216 void Scheduler::SetSmoothnessMode(bool smoothness_takes_priority, 218 void Scheduler::SetSmoothnessMode(bool smoothness_takes_priority,
217 bool scroll_affects_scroll_handler) { 219 bool scroll_affects_scroll_handler) {
218 state_machine_.SetSmoothnessMode(smoothness_takes_priority, 220 state_machine_.SetSmoothnessMode(smoothness_takes_priority,
219 scroll_affects_scroll_handler); 221 scroll_affects_scroll_handler);
220 ProcessScheduledActions(); 222 ProcessScheduledActions();
221 } 223 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 begin_retro_frame_task_.Cancel(); 255 begin_retro_frame_task_.Cancel();
254 state_machine_.DidLoseOutputSurface(); 256 state_machine_.DidLoseOutputSurface();
255 UpdateCompositorTimingHistoryRecordingEnabled(); 257 UpdateCompositorTimingHistoryRecordingEnabled();
256 ProcessScheduledActions(); 258 ProcessScheduledActions();
257 } 259 }
258 260
259 void Scheduler::DidCreateAndInitializeOutputSurface() { 261 void Scheduler::DidCreateAndInitializeOutputSurface() {
260 TRACE_EVENT0("cc", "Scheduler::DidCreateAndInitializeOutputSurface"); 262 TRACE_EVENT0("cc", "Scheduler::DidCreateAndInitializeOutputSurface");
261 DCHECK(!frame_source_->NeedsBeginFrames()); 263 DCHECK(!frame_source_->NeedsBeginFrames());
262 DCHECK(begin_impl_frame_deadline_task_.IsCancelled()); 264 DCHECK(begin_impl_frame_deadline_task_.IsCancelled());
265 compositor_timing_history_->DidSwapBuffersReset();
263 state_machine_.DidCreateAndInitializeOutputSurface(); 266 state_machine_.DidCreateAndInitializeOutputSurface();
264 UpdateCompositorTimingHistoryRecordingEnabled(); 267 UpdateCompositorTimingHistoryRecordingEnabled();
265 ProcessScheduledActions(); 268 ProcessScheduledActions();
266 } 269 }
267 270
268 void Scheduler::NotifyBeginMainFrameStarted( 271 void Scheduler::NotifyBeginMainFrameStarted(
269 base::TimeTicks main_thread_start_time) { 272 base::TimeTicks main_thread_start_time) {
270 TRACE_EVENT0("cc", "Scheduler::NotifyBeginMainFrameStarted"); 273 TRACE_EVENT0("cc", "Scheduler::NotifyBeginMainFrameStarted");
271 state_machine_.NotifyBeginMainFrameStarted(); 274 state_machine_.NotifyBeginMainFrameStarted();
272 compositor_timing_history_->BeginMainFrameStarted(main_thread_start_time); 275 compositor_timing_history_->BeginMainFrameStarted(main_thread_start_time);
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 } 886 }
884 887
885 bool Scheduler::IsBeginMainFrameSentOrStarted() const { 888 bool Scheduler::IsBeginMainFrameSentOrStarted() const {
886 return (state_machine_.begin_main_frame_state() == 889 return (state_machine_.begin_main_frame_state() ==
887 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT || 890 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT ||
888 state_machine_.begin_main_frame_state() == 891 state_machine_.begin_main_frame_state() ==
889 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED); 892 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED);
890 } 893 }
891 894
892 } // namespace cc 895 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698