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

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

Issue 1165853002: Pipe impl_latency_takes_priority_ to the RenderScheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 6 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
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 "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 177
178 void BackToBackBeginFrameSource::BeginFrame() { 178 void BackToBackBeginFrameSource::BeginFrame() {
179 send_begin_frame_posted_ = false; 179 send_begin_frame_posted_ = false;
180 180
181 if (!needs_begin_frames_) 181 if (!needs_begin_frames_)
182 return; 182 return;
183 183
184 base::TimeTicks now = Now(); 184 base::TimeTicks now = Now();
185 BeginFrameArgs args = BeginFrameArgs::Create( 185 BeginFrameArgs args = BeginFrameArgs::Create(
186 BEGINFRAME_FROM_HERE, now, now + BeginFrameArgs::DefaultInterval(), 186 BEGINFRAME_FROM_HERE, now, now + BeginFrameArgs::DefaultInterval(),
187 BeginFrameArgs::DefaultInterval(), BeginFrameArgs::NORMAL); 187 BeginFrameArgs::DefaultInterval(), BeginFrameArgs::NORMAL, true);
188 CallOnBeginFrame(args); 188 CallOnBeginFrame(args);
189 } 189 }
190 190
191 // BeginFrameSource support 191 // BeginFrameSource support
192 192
193 void BackToBackBeginFrameSource::DidFinishFrame(size_t remaining_frames) { 193 void BackToBackBeginFrameSource::DidFinishFrame(size_t remaining_frames) {
194 if (remaining_frames == 0) { 194 if (remaining_frames == 0) {
195 OnNeedsBeginFramesChange(NeedsBeginFrames()); 195 OnNeedsBeginFramesChange(NeedsBeginFrames());
196 } 196 }
197 } 197 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 base::TimeTicks new_vsync_timebase, 231 base::TimeTicks new_vsync_timebase,
232 base::TimeDelta new_vsync_interval) { 232 base::TimeDelta new_vsync_interval) {
233 time_source_->SetTimebaseAndInterval(new_vsync_timebase, new_vsync_interval); 233 time_source_->SetTimebaseAndInterval(new_vsync_timebase, new_vsync_interval);
234 } 234 }
235 235
236 BeginFrameArgs SyntheticBeginFrameSource::CreateBeginFrameArgs( 236 BeginFrameArgs SyntheticBeginFrameSource::CreateBeginFrameArgs(
237 base::TimeTicks frame_time, 237 base::TimeTicks frame_time,
238 BeginFrameArgs::BeginFrameArgsType type) { 238 BeginFrameArgs::BeginFrameArgsType type) {
239 base::TimeTicks deadline = time_source_->NextTickTime(); 239 base::TimeTicks deadline = time_source_->NextTickTime();
240 return BeginFrameArgs::Create(BEGINFRAME_FROM_HERE, frame_time, deadline, 240 return BeginFrameArgs::Create(BEGINFRAME_FROM_HERE, frame_time, deadline,
241 time_source_->Interval(), type); 241 time_source_->Interval(), type, true);
242 } 242 }
243 243
244 // TimeSourceClient support 244 // TimeSourceClient support
245 void SyntheticBeginFrameSource::OnTimerTick() { 245 void SyntheticBeginFrameSource::OnTimerTick() {
246 CallOnBeginFrame(CreateBeginFrameArgs(time_source_->LastTickTime(), 246 CallOnBeginFrame(CreateBeginFrameArgs(time_source_->LastTickTime(),
247 BeginFrameArgs::NORMAL)); 247 BeginFrameArgs::NORMAL));
248 } 248 }
249 249
250 // BeginFrameSourceMixIn support 250 // BeginFrameSourceMixIn support
251 void SyntheticBeginFrameSource::OnNeedsBeginFramesChange( 251 void SyntheticBeginFrameSource::OnNeedsBeginFramesChange(
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 if (!observer_->LastUsedBeginFrameArgs().IsValid()) 462 if (!observer_->LastUsedBeginFrameArgs().IsValid())
463 return true; 463 return true;
464 464
465 // Only allow new args have a *strictly bigger* frame_time value and statisfy 465 // Only allow new args have a *strictly bigger* frame_time value and statisfy
466 // minimum interval requirement. 466 // minimum interval requirement.
467 return (args.frame_time >= 467 return (args.frame_time >=
468 observer_->LastUsedBeginFrameArgs().frame_time + minimum_interval_); 468 observer_->LastUsedBeginFrameArgs().frame_time + minimum_interval_);
469 } 469 }
470 470
471 } // namespace cc 471 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698