| OLD | NEW |
| 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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 // BeginFrame is the mechanism that tells us that now is a good time to start | 254 // BeginFrame is the mechanism that tells us that now is a good time to start |
| 255 // making a frame. Usually this means that user input for the frame is complete. | 255 // making a frame. Usually this means that user input for the frame is complete. |
| 256 // If the scheduler is busy, we queue the BeginFrame to be handled later as | 256 // If the scheduler is busy, we queue the BeginFrame to be handled later as |
| 257 // a BeginRetroFrame. | 257 // a BeginRetroFrame. |
| 258 bool Scheduler::OnBeginFrameDerivedImpl(const BeginFrameArgs& args) { | 258 bool Scheduler::OnBeginFrameDerivedImpl(const BeginFrameArgs& args) { |
| 259 TRACE_EVENT1("cc,benchmark", "Scheduler::BeginFrame", "args", args.AsValue()); | 259 TRACE_EVENT1("cc,benchmark", "Scheduler::BeginFrame", "args", args.AsValue()); |
| 260 | 260 |
| 261 if (!state_machine_.BeginFrameNeeded()) { | 261 if (!state_machine_.BeginFrameNeeded()) { |
| 262 TRACE_EVENT_INSTANT0("cc", "Scheduler::BeginFrameDropped", | 262 TRACE_EVENT_INSTANT0("cc", "Scheduler::BeginFrameDropped", |
| 263 TRACE_EVENT_SCOPE_THREAD); | 263 TRACE_EVENT_SCOPE_THREAD); |
| 264 // TODO(eseckler): Determine and set correct |ack.latest_confirmed_frame|. |
| 265 BeginFrameAck ack(args.source_id, args.sequence_number, |
| 266 args.sequence_number, 0, false); |
| 267 begin_frame_source_->DidFinishFrame(this, ack); |
| 264 return false; | 268 return false; |
| 265 } | 269 } |
| 266 | 270 |
| 267 // Trace this begin frame time through the Chrome stack | 271 // Trace this begin frame time through the Chrome stack |
| 268 TRACE_EVENT_FLOW_BEGIN0( | 272 TRACE_EVENT_FLOW_BEGIN0( |
| 269 TRACE_DISABLED_BY_DEFAULT("cc.debug.scheduler.frames"), "BeginFrameArgs", | 273 TRACE_DISABLED_BY_DEFAULT("cc.debug.scheduler.frames"), "BeginFrameArgs", |
| 270 args.frame_time.ToInternalValue()); | 274 args.frame_time.ToInternalValue()); |
| 271 | 275 |
| 272 if (settings_.using_synchronous_renderer_compositor) { | 276 if (settings_.using_synchronous_renderer_compositor) { |
| 273 BeginImplFrameSynchronous(args); | 277 BeginImplFrameSynchronous(args); |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 767 } | 771 } |
| 768 | 772 |
| 769 bool Scheduler::IsBeginMainFrameSentOrStarted() const { | 773 bool Scheduler::IsBeginMainFrameSentOrStarted() const { |
| 770 return (state_machine_.begin_main_frame_state() == | 774 return (state_machine_.begin_main_frame_state() == |
| 771 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT || | 775 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_SENT || |
| 772 state_machine_.begin_main_frame_state() == | 776 state_machine_.begin_main_frame_state() == |
| 773 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED); | 777 SchedulerStateMachine::BEGIN_MAIN_FRAME_STATE_STARTED); |
| 774 } | 778 } |
| 775 | 779 |
| 776 } // namespace cc | 780 } // namespace cc |
| OLD | NEW |