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 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 bool Scheduler::SyntheticBeginFrameSource::IsActive() const { | 54 bool Scheduler::SyntheticBeginFrameSource::IsActive() const { |
55 return time_source_->Active(); | 55 return time_source_->Active(); |
56 } | 56 } |
57 | 57 |
58 void Scheduler::SyntheticBeginFrameSource::OnTimerTick() { | 58 void Scheduler::SyntheticBeginFrameSource::OnTimerTick() { |
59 BeginFrameArgs begin_frame_args( | 59 BeginFrameArgs begin_frame_args( |
60 CreateSyntheticBeginFrameArgs(time_source_->LastTickTime())); | 60 CreateSyntheticBeginFrameArgs(time_source_->LastTickTime())); |
61 scheduler_->BeginFrame(begin_frame_args); | 61 scheduler_->BeginFrame(begin_frame_args); |
62 } | 62 } |
63 | 63 |
| 64 scoped_ptr<base::Value> Scheduler::SyntheticBeginFrameSource::AsValue() const { |
| 65 return time_source_->AsValue(); |
| 66 } |
| 67 |
64 BeginFrameArgs | 68 BeginFrameArgs |
65 Scheduler::SyntheticBeginFrameSource::CreateSyntheticBeginFrameArgs( | 69 Scheduler::SyntheticBeginFrameSource::CreateSyntheticBeginFrameArgs( |
66 base::TimeTicks frame_time) { | 70 base::TimeTicks frame_time) { |
67 base::TimeTicks deadline = | 71 base::TimeTicks deadline = |
68 time_source_->NextTickTime() - scheduler_->EstimatedParentDrawTime(); | 72 time_source_->NextTickTime() - scheduler_->EstimatedParentDrawTime(); |
69 return BeginFrameArgs::Create( | 73 return BeginFrameArgs::Create( |
70 frame_time, deadline, scheduler_->VSyncInterval()); | 74 frame_time, deadline, scheduler_->VSyncInterval()); |
71 } | 75 } |
72 | 76 |
73 Scheduler::Scheduler( | 77 Scheduler::Scheduler( |
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 } | 673 } |
670 } | 674 } |
671 | 675 |
672 bool Scheduler::WillDrawIfNeeded() const { | 676 bool Scheduler::WillDrawIfNeeded() const { |
673 return !state_machine_.PendingDrawsShouldBeAborted(); | 677 return !state_machine_.PendingDrawsShouldBeAborted(); |
674 } | 678 } |
675 | 679 |
676 scoped_ptr<base::Value> Scheduler::AsValue() const { | 680 scoped_ptr<base::Value> Scheduler::AsValue() const { |
677 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue); | 681 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue); |
678 state->Set("state_machine", state_machine_.AsValue().release()); | 682 state->Set("state_machine", state_machine_.AsValue().release()); |
| 683 if (synthetic_begin_frame_source_) |
| 684 state->Set("synthetic_begin_frame_source_", |
| 685 synthetic_begin_frame_source_->AsValue().release()); |
679 | 686 |
680 scoped_ptr<base::DictionaryValue> scheduler_state(new base::DictionaryValue); | 687 scoped_ptr<base::DictionaryValue> scheduler_state(new base::DictionaryValue); |
681 scheduler_state->SetDouble( | 688 scheduler_state->SetDouble( |
682 "time_until_anticipated_draw_time_ms", | 689 "time_until_anticipated_draw_time_ms", |
683 (AnticipatedDrawTime() - base::TimeTicks::Now()).InMillisecondsF()); | 690 (AnticipatedDrawTime() - base::TimeTicks::Now()).InMillisecondsF()); |
684 scheduler_state->SetDouble("vsync_interval_ms", | 691 scheduler_state->SetDouble("vsync_interval_ms", |
685 vsync_interval_.InMillisecondsF()); | 692 vsync_interval_.InMillisecondsF()); |
686 scheduler_state->SetDouble("estimated_parent_draw_time_ms", | 693 scheduler_state->SetDouble("estimated_parent_draw_time_ms", |
687 estimated_parent_draw_time_.InMillisecondsF()); | 694 estimated_parent_draw_time_.InMillisecondsF()); |
688 scheduler_state->SetBoolean("last_set_needs_begin_frame_", | 695 scheduler_state->SetBoolean("last_set_needs_begin_frame_", |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 } | 744 } |
738 | 745 |
739 bool Scheduler::IsBeginMainFrameSentOrStarted() const { | 746 bool Scheduler::IsBeginMainFrameSentOrStarted() const { |
740 return (state_machine_.commit_state() == | 747 return (state_machine_.commit_state() == |
741 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_SENT || | 748 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_SENT || |
742 state_machine_.commit_state() == | 749 state_machine_.commit_state() == |
743 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED); | 750 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED); |
744 } | 751 } |
745 | 752 |
746 } // namespace cc | 753 } // namespace cc |
OLD | NEW |