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

Unified Diff: cc/scheduler/compositor_timing_history.cc

Issue 1184863004: cc: Move timing history to the Scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add cc:: 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
« no previous file with comments | « cc/scheduler/compositor_timing_history.h ('k') | cc/scheduler/scheduler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler/compositor_timing_history.cc
diff --git a/cc/trees/proxy_timing_history.cc b/cc/scheduler/compositor_timing_history.cc
similarity index 75%
rename from cc/trees/proxy_timing_history.cc
rename to cc/scheduler/compositor_timing_history.cc
index 90abad1632f585c407106d556d52d7c3de5ad2cf..7dcd9eacf03d6c70fdff64d85a026f4733018f98 100644
--- a/cc/trees/proxy_timing_history.cc
+++ b/cc/scheduler/compositor_timing_history.cc
@@ -2,9 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "cc/trees/proxy_timing_history.h"
+#include "cc/scheduler/compositor_timing_history.h"
#include "base/metrics/histogram.h"
+#include "base/trace_event/trace_event.h"
+#include "cc/debug/rendering_stats_instrumentation.h"
const size_t kDurationHistorySize = 60;
const double kCommitAndActivationDurationEstimationPercentile = 50.0;
@@ -13,7 +15,7 @@ const int kDrawDurationEstimatePaddingInMicroseconds = 0;
namespace cc {
-ProxyTimingHistory::ProxyTimingHistory(
+CompositorTimingHistory::CompositorTimingHistory(
RenderingStatsInstrumentation* rendering_stats_instrumentation)
: draw_duration_history_(kDurationHistorySize),
begin_main_frame_to_commit_duration_history_(kDurationHistorySize),
@@ -21,9 +23,20 @@ ProxyTimingHistory::ProxyTimingHistory(
rendering_stats_instrumentation_(rendering_stats_instrumentation) {
}
-ProxyTimingHistory::~ProxyTimingHistory() {}
+CompositorTimingHistory::~CompositorTimingHistory() {
+}
+
+void CompositorTimingHistory::AsValueInto(
+ base::trace_event::TracedValue* state) const {
+ state->SetDouble("begin_main_frame_to_commit_duration_estimate_ms",
+ BeginMainFrameToCommitDurationEstimate().InMillisecondsF());
+ state->SetDouble("commit_to_activate_duration_estimate_ms",
+ CommitToActivateDurationEstimate().InMillisecondsF());
+ state->SetDouble("draw_duration_estimate_ms",
+ DrawDurationEstimate().InMillisecondsF());
+}
-base::TimeDelta ProxyTimingHistory::DrawDurationEstimate() const {
+base::TimeDelta CompositorTimingHistory::DrawDurationEstimate() const {
base::TimeDelta historical_estimate =
draw_duration_history_.Percentile(kDrawDurationEstimationPercentile);
base::TimeDelta padding = base::TimeDelta::FromMicroseconds(
@@ -31,22 +44,23 @@ base::TimeDelta ProxyTimingHistory::DrawDurationEstimate() const {
return historical_estimate + padding;
}
-base::TimeDelta ProxyTimingHistory::BeginMainFrameToCommitDurationEstimate()
- const {
+base::TimeDelta
+CompositorTimingHistory::BeginMainFrameToCommitDurationEstimate() const {
return begin_main_frame_to_commit_duration_history_.Percentile(
kCommitAndActivationDurationEstimationPercentile);
}
-base::TimeDelta ProxyTimingHistory::CommitToActivateDurationEstimate() const {
+base::TimeDelta CompositorTimingHistory::CommitToActivateDurationEstimate()
+ const {
return commit_to_activate_duration_history_.Percentile(
kCommitAndActivationDurationEstimationPercentile);
}
-void ProxyTimingHistory::DidBeginMainFrame() {
+void CompositorTimingHistory::WillBeginMainFrame() {
begin_main_frame_sent_time_ = base::TimeTicks::Now();
}
-void ProxyTimingHistory::DidCommit() {
+void CompositorTimingHistory::DidCommit() {
commit_complete_time_ = base::TimeTicks::Now();
base::TimeDelta begin_main_frame_to_commit_duration =
commit_complete_time_ - begin_main_frame_sent_time_;
@@ -62,7 +76,7 @@ void ProxyTimingHistory::DidCommit() {
begin_main_frame_to_commit_duration);
}
-void ProxyTimingHistory::DidActivateSyncTree() {
+void CompositorTimingHistory::DidActivateSyncTree() {
base::TimeDelta commit_to_activate_duration =
base::TimeTicks::Now() - commit_complete_time_;
@@ -76,11 +90,11 @@ void ProxyTimingHistory::DidActivateSyncTree() {
commit_to_activate_duration);
}
-void ProxyTimingHistory::DidStartDrawing() {
+void CompositorTimingHistory::DidStartDrawing() {
start_draw_time_ = base::TimeTicks::Now();
}
-void ProxyTimingHistory::DidFinishDrawing() {
+void CompositorTimingHistory::DidFinishDrawing() {
base::TimeDelta draw_duration = base::TimeTicks::Now() - start_draw_time_;
// Before adding the new data point to the timing history, see what we would
@@ -95,7 +109,7 @@ void ProxyTimingHistory::DidFinishDrawing() {
draw_duration_history_.InsertSample(draw_duration);
}
-void ProxyTimingHistory::AddDrawDurationUMA(
+void CompositorTimingHistory::AddDrawDurationUMA(
base::TimeDelta draw_duration,
base::TimeDelta draw_duration_estimate) {
base::TimeDelta draw_duration_overestimate;
@@ -104,21 +118,17 @@ void ProxyTimingHistory::AddDrawDurationUMA(
draw_duration_underestimate = draw_duration - draw_duration_estimate;
else
draw_duration_overestimate = draw_duration_estimate - draw_duration;
- UMA_HISTOGRAM_CUSTOM_TIMES("Renderer.DrawDuration",
- draw_duration,
+ UMA_HISTOGRAM_CUSTOM_TIMES("Renderer.DrawDuration", draw_duration,
base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMilliseconds(100),
- 50);
+ base::TimeDelta::FromMilliseconds(100), 50);
UMA_HISTOGRAM_CUSTOM_TIMES("Renderer.DrawDurationUnderestimate",
draw_duration_underestimate,
base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMilliseconds(100),
- 50);
+ base::TimeDelta::FromMilliseconds(100), 50);
UMA_HISTOGRAM_CUSTOM_TIMES("Renderer.DrawDurationOverestimate",
draw_duration_overestimate,
base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMilliseconds(100),
- 50);
+ base::TimeDelta::FromMilliseconds(100), 50);
}
} // namespace cc
« no previous file with comments | « cc/scheduler/compositor_timing_history.h ('k') | cc/scheduler/scheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698