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

Unified Diff: cc/scheduler/scheduler.cc

Issue 1012853003: Add DisplayScheduler for Surfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: actually add unit tests Created 5 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 side-by-side diff with in-line comments
Download patch
Index: cc/scheduler/scheduler.cc
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
index 37e7c5352b0db92479aa8e49e6c04431cca1a8a7..fdd7e57b9a1bd857ba13aec60b3ce16d9fb00f32 100644
--- a/cc/scheduler/scheduler.cc
+++ b/cc/scheduler/scheduler.cc
@@ -87,8 +87,6 @@ Scheduler::Scheduler(
primary_frame_source_internal_(external_begin_frame_source.Pass()),
background_frame_source_internal_(),
vsync_observer_(NULL),
- authoritative_vsync_interval_(base::TimeDelta()),
- last_vsync_timebase_(base::TimeTicks()),
throttle_frame_production_(scheduler_settings.throttle_frame_production),
settings_(scheduler_settings),
client_(client),
@@ -148,8 +146,18 @@ base::TimeTicks Scheduler::Now() const {
return now;
}
+void Scheduler::SetAuthoritativeVSyncInterval(const base::TimeDelta& interval) {
+ authoritative_vsync_interval_ = interval;
+ if (vsync_observer_)
+ vsync_observer_->OnUpdateVSyncParameters(last_vsync_timebase_, interval);
+}
+
void Scheduler::CommitVSyncParameters(base::TimeTicks timebase,
base::TimeDelta interval) {
+ TRACE_EVENT2("cc", "Scheduler::CommitVSyncParameters", "timebase",
+ (timebase - base::TimeTicks()).InSecondsF(), "interval",
+ interval.InSecondsF());
+
if (authoritative_vsync_interval_ != base::TimeDelta()) {
interval = authoritative_vsync_interval_;
} else if (interval == base::TimeDelta()) {
@@ -438,12 +446,6 @@ void Scheduler::SetChildrenNeedBeginFrames(bool children_need_begin_frames) {
ProcessScheduledActions();
}
-void Scheduler::SetAuthoritativeVSyncInterval(const base::TimeDelta& interval) {
- authoritative_vsync_interval_ = interval;
- if (vsync_observer_)
- vsync_observer_->OnUpdateVSyncParameters(last_vsync_timebase_, interval);
-}
-
// BeginRetroFrame is called for BeginFrames that we've deferred because
// the scheduler was in the middle of processing a previous BeginFrame.
void Scheduler::BeginRetroFrame() {

Powered by Google App Engine
This is Rietveld 408576698