| Index: cc/scheduler/scheduler.cc
|
| diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
|
| index 0af7fa6fb3b4efcc05a3ddddfd66eda09dd524c8..a84c1ba8a67c4b2b01c8705b248821683be4100a 100644
|
| --- a/cc/scheduler/scheduler.cc
|
| +++ b/cc/scheduler/scheduler.cc
|
| @@ -64,7 +64,6 @@ Scheduler::Scheduler(
|
| unthrottled_frame_source_(std::move(unthrottled_frame_source)),
|
| frame_source_(BeginFrameSourceMultiplexer::Create()),
|
| observing_frame_source_(false),
|
| - throttle_frame_production_(false),
|
| compositor_timing_history_(std::move(compositor_timing_history)),
|
| begin_impl_frame_deadline_mode_(
|
| SchedulerStateMachine::BEGIN_IMPL_FRAME_DEADLINE_MODE_NONE),
|
| @@ -91,7 +90,12 @@ Scheduler::Scheduler(
|
| frame_source_->AddSource(unthrottled_frame_source_.get());
|
| unthrottled_frame_source_->SetClientReady();
|
|
|
| - SetThrottleFrameProduction(settings_.throttle_frame_production);
|
| + if (settings_.throttle_frame_production) {
|
| + frame_source_->SetActiveSource(primary_frame_source());
|
| + } else {
|
| + frame_source_->SetActiveSource(unthrottled_frame_source_.get());
|
| + }
|
| + ProcessScheduledActions();
|
| }
|
|
|
| Scheduler::~Scheduler() {
|
| @@ -152,16 +156,6 @@ void Scheduler::NotifyReadyToDraw() {
|
| ProcessScheduledActions();
|
| }
|
|
|
| -void Scheduler::SetThrottleFrameProduction(bool throttle) {
|
| - throttle_frame_production_ = throttle;
|
| - if (throttle) {
|
| - frame_source_->SetActiveSource(primary_frame_source());
|
| - } else {
|
| - frame_source_->SetActiveSource(unthrottled_frame_source_.get());
|
| - }
|
| - ProcessScheduledActions();
|
| -}
|
| -
|
| void Scheduler::SetNeedsBeginMainFrame() {
|
| state_machine_.SetNeedsBeginMainFrame();
|
| ProcessScheduledActions();
|
| @@ -808,7 +802,8 @@ void Scheduler::AsValueInto(base::trace_event::TracedValue* state) const {
|
|
|
| state->BeginDictionary("scheduler_state");
|
| state->SetBoolean("external_frame_source_", !!external_frame_source_);
|
| - state->SetBoolean("throttle_frame_production_", throttle_frame_production_);
|
| + state->SetBoolean("throttle_frame_production_",
|
| + settings_.throttle_frame_production);
|
| state->SetDouble("authoritative_vsync_interval_ms",
|
| authoritative_vsync_interval_.InMillisecondsF());
|
| state->SetDouble(
|
| @@ -870,7 +865,7 @@ bool Scheduler::ShouldRecoverImplLatency(
|
| // Disable impl thread latency recovery when using the unthrottled
|
| // begin frame source since we will always get a BeginFrame before
|
| // the swap ack and our heuristics below will not work.
|
| - if (!throttle_frame_production_)
|
| + if (!settings_.throttle_frame_production)
|
| return false;
|
|
|
| // If we are swap throttled at the BeginFrame, that means the impl thread is
|
|
|