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

Unified Diff: cc/trees/single_thread_proxy.cc

Issue 1192663005: cc: Measure compositor timing with finer granularity (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@modeTimingHistory3
Patch Set: fixes 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 side-by-side diff with in-line comments
Download patch
Index: cc/trees/single_thread_proxy.cc
diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc
index 91816b9c057daff0b81c3f6b2fb1153cfdab537b..0632657a48a232c3f8bccdc67e21b093c966ed0c 100644
--- a/cc/trees/single_thread_proxy.cc
+++ b/cc/trees/single_thread_proxy.cc
@@ -42,7 +42,6 @@ SingleThreadProxy::SingleThreadProxy(
: Proxy(main_task_runner, NULL),
layer_tree_host_(layer_tree_host),
client_(client),
- timing_history_(layer_tree_host->rendering_stats_instrumentation()),
next_frame_is_newly_committed_frame_(false),
#if DCHECK_IS_ON()
inside_impl_frame_(false),
@@ -66,7 +65,8 @@ SingleThreadProxy::SingleThreadProxy(
scheduler_settings.main_thread_should_always_be_low_latency = true;
scheduler_on_impl_thread_ = Scheduler::Create(
this, scheduler_settings, layer_tree_host_->id(),
- MainThreadTaskRunner(), external_begin_frame_source.Pass());
+ MainThreadTaskRunner(), external_begin_frame_source.Pass(),
+ layer_tree_host->rendering_stats_instrumentation());
}
}
@@ -325,6 +325,9 @@ void SingleThreadProxy::CommitComplete() {
<< "Activation is expected to have synchronously occurred by now.";
DCHECK(commit_blocking_task_runner_);
+ if (scheduler_on_impl_thread_)
+ scheduler_on_impl_thread_->DidCommit();
+
// Notify commit complete on the impl side after activate to satisfy any
// SetNextCommitWaitsForActivation calls.
layer_tree_host_impl_->CommitComplete();
@@ -333,7 +336,6 @@ void SingleThreadProxy::CommitComplete() {
commit_blocking_task_runner_.reset();
layer_tree_host_->CommitComplete();
layer_tree_host_->DidBeginMainFrame();
- timing_history_.DidCommit();
next_frame_is_newly_committed_frame_ = true;
}
@@ -516,8 +518,13 @@ void SingleThreadProxy::DidActivateSyncTree() {
// commit/activation before CommitComplete.
CommitComplete();
}
+}
- timing_history_.DidActivateSyncTree();
+void SingleThreadProxy::WillPrepareTiles() {
+ DCHECK(layer_tree_host_impl_->settings().impl_side_painting);
+ DCHECK(Proxy::IsImplThread());
+ if (scheduler_on_impl_thread_)
+ scheduler_on_impl_thread_->WillPrepareTiles();
}
void SingleThreadProxy::DidPrepareTiles() {
@@ -710,8 +717,6 @@ DrawResult SingleThreadProxy::DoComposite(LayerTreeHostImpl::FrameData* frame) {
return DRAW_ABORTED_CANT_DRAW;
}
- timing_history_.DidStartDrawing();
-
// TODO(robliao): Remove ScopedTracker below once https://crbug.com/461509
// is fixed.
tracked_objects::ScopedTracker tracking_profile2(
@@ -747,7 +752,6 @@ DrawResult SingleThreadProxy::DoComposite(LayerTreeHostImpl::FrameData* frame) {
tracked_objects::ScopedTracker tracking_profile7(
FROM_HERE_WITH_EXPLICIT_FUNCTION(
"461509 SingleThreadProxy::DoComposite7"));
- timing_history_.DidFinishDrawing();
}
if (draw_frame) {
@@ -906,8 +910,6 @@ void SingleThreadProxy::DoBeginMainFrame(
layer_tree_host_->UpdateLayers(queue_for_commit_.get());
- timing_history_.DidBeginMainFrame();
-
// TODO(enne): SingleThreadProxy does not support cancelling commits yet,
// search for CommitEarlyOutReason::FINISHED_NO_UPDATES inside
// thread_proxy.cc
@@ -982,18 +984,6 @@ void SingleThreadProxy::ScheduledActionInvalidateOutputSurface() {
void SingleThreadProxy::DidAnticipatedDrawTimeChange(base::TimeTicks time) {
}
-base::TimeDelta SingleThreadProxy::DrawDurationEstimate() {
- return timing_history_.DrawDurationEstimate();
-}
-
-base::TimeDelta SingleThreadProxy::BeginMainFrameToCommitDurationEstimate() {
- return timing_history_.BeginMainFrameToCommitDurationEstimate();
-}
-
-base::TimeDelta SingleThreadProxy::CommitToActivateDurationEstimate() {
- return timing_history_.CommitToActivateDurationEstimate();
-}
-
void SingleThreadProxy::DidFinishImplFrame() {
layer_tree_host_impl_->DidFinishImplFrame();
#if DCHECK_IS_ON()

Powered by Google App Engine
This is Rietveld 408576698