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

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

Issue 2833603002: Revert of Plumb activation time to main (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « cc/output/begin_frame_args_unittest.cc ('k') | cc/scheduler/scheduler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/begin_frame_source.h" 5 #include "cc/scheduler/begin_frame_source.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/atomic_sequence_num.h" 9 #include "base/atomic_sequence_num.h"
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 } 122 }
123 123
124 bool BackToBackBeginFrameSource::IsThrottled() const { 124 bool BackToBackBeginFrameSource::IsThrottled() const {
125 return false; 125 return false;
126 } 126 }
127 127
128 void BackToBackBeginFrameSource::OnTimerTick() { 128 void BackToBackBeginFrameSource::OnTimerTick() {
129 base::TimeTicks frame_time = time_source_->LastTickTime(); 129 base::TimeTicks frame_time = time_source_->LastTickTime();
130 base::TimeDelta default_interval = BeginFrameArgs::DefaultInterval(); 130 base::TimeDelta default_interval = BeginFrameArgs::DefaultInterval();
131 BeginFrameArgs args = BeginFrameArgs::Create( 131 BeginFrameArgs args = BeginFrameArgs::Create(
132 BEGINFRAME_FROM_HERE, source_id(), next_sequence_number_, 132 BEGINFRAME_FROM_HERE, source_id(), next_sequence_number_, frame_time,
133 BeginFrameArgs::kDefaultSourceFrameNumber, frame_time,
134 frame_time + default_interval, default_interval, BeginFrameArgs::NORMAL); 133 frame_time + default_interval, default_interval, BeginFrameArgs::NORMAL);
135 next_sequence_number_++; 134 next_sequence_number_++;
136 135
137 // This must happen after getting the LastTickTime() from the time source. 136 // This must happen after getting the LastTickTime() from the time source.
138 time_source_->SetActive(false); 137 time_source_->SetActive(false);
139 138
140 std::unordered_set<BeginFrameObserver*> pending_observers; 139 std::unordered_set<BeginFrameObserver*> pending_observers;
141 pending_observers.swap(pending_begin_frame_observers_); 140 pending_observers.swap(pending_begin_frame_observers_);
142 DCHECK(!pending_observers.empty()); 141 DCHECK(!pending_observers.empty());
143 for (BeginFrameObserver* obs : pending_observers) 142 for (BeginFrameObserver* obs : pending_observers)
(...skipping 28 matching lines...) Expand all
172 base::TimeDelta interval) { 171 base::TimeDelta interval) {
173 authoritative_interval_ = interval; 172 authoritative_interval_ = interval;
174 OnUpdateVSyncParameters(last_timebase_, interval); 173 OnUpdateVSyncParameters(last_timebase_, interval);
175 } 174 }
176 175
177 BeginFrameArgs DelayBasedBeginFrameSource::CreateBeginFrameArgs( 176 BeginFrameArgs DelayBasedBeginFrameSource::CreateBeginFrameArgs(
178 base::TimeTicks frame_time, 177 base::TimeTicks frame_time,
179 BeginFrameArgs::BeginFrameArgsType type) { 178 BeginFrameArgs::BeginFrameArgsType type) {
180 uint64_t sequence_number = next_sequence_number_++; 179 uint64_t sequence_number = next_sequence_number_++;
181 return BeginFrameArgs::Create( 180 return BeginFrameArgs::Create(
182 BEGINFRAME_FROM_HERE, source_id(), sequence_number, 181 BEGINFRAME_FROM_HERE, source_id(), sequence_number, frame_time,
183 BeginFrameArgs::kDefaultSourceFrameNumber, frame_time,
184 time_source_->NextTickTime(), time_source_->Interval(), type); 182 time_source_->NextTickTime(), time_source_->Interval(), type);
185 } 183 }
186 184
187 void DelayBasedBeginFrameSource::AddObserver(BeginFrameObserver* obs) { 185 void DelayBasedBeginFrameSource::AddObserver(BeginFrameObserver* obs) {
188 DCHECK(obs); 186 DCHECK(obs);
189 DCHECK(observers_.find(obs) == observers_.end()); 187 DCHECK(observers_.find(obs) == observers_.end());
190 188
191 observers_.insert(obs); 189 observers_.insert(obs);
192 obs->OnBeginFrameSourcePausedChanged(false); 190 obs->OnBeginFrameSourcePausedChanged(false);
193 time_source_->SetActive(true); 191 time_source_->SetActive(true);
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 frame_active_ = false; 480 frame_active_ = false;
483 481
484 BeginFrameAck ack(last_begin_frame_args_.source_id, 482 BeginFrameAck ack(last_begin_frame_args_.source_id,
485 last_begin_frame_args_.sequence_number, 483 last_begin_frame_args_.sequence_number,
486 ack_tracker_.LatestConfirmedSequenceNumber(), 484 ack_tracker_.LatestConfirmedSequenceNumber(),
487 ack_tracker_.AnyObserversHadDamage()); 485 ack_tracker_.AnyObserversHadDamage());
488 client_->OnDidFinishFrame(ack); 486 client_->OnDidFinishFrame(ack);
489 } 487 }
490 488
491 } // namespace cc 489 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/begin_frame_args_unittest.cc ('k') | cc/scheduler/scheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698