summaryrefslogtreecommitdiffstats
path: root/cc/debug/rendering_stats_instrumentation.cc
diff options
context:
space:
mode:
authorernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-15 18:51:24 +0000
committerernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-15 18:51:24 +0000
commit376041ead822a40985f49f366941b19a13f6ac68 (patch)
tree132dab0fadcbd6506ea793fbf1e426923e827437 /cc/debug/rendering_stats_instrumentation.cc
parent151d950d12e893e516f79ad93daf20a124f00083 (diff)
downloadchromium_src-376041ead822a40985f49f366941b19a13f6ac68.zip
chromium_src-376041ead822a40985f49f366941b19a13f6ac68.tar.gz
chromium_src-376041ead822a40985f49f366941b19a13f6ac68.tar.bz2
cc: RenderingStats overhaul
- Split RenderingStats into MainThreadRenderingStats and ImplThreadRenderingStats - Support accumulated stats and per-frame stats in RenderingStatsInstrumentation - Dump MainThreadRenderingStats into trace event from ThreadProxy::BeginFrameOnMainThread - Dump ImplThreadRenderingStats into trace event from LayerTreeHostImpl::DrawLayers - Made naming of RenderingStats members consistent R=nduca@chromium.org,jamesr@chromium.org BUG=266101,264308 Review URL: https://chromiumcodereview.appspot.com/23088002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217824 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/debug/rendering_stats_instrumentation.cc')
-rw-r--r--cc/debug/rendering_stats_instrumentation.cc71
1 files changed, 43 insertions, 28 deletions
diff --git a/cc/debug/rendering_stats_instrumentation.cc b/cc/debug/rendering_stats_instrumentation.cc
index b3886af..3c164f9 100644
--- a/cc/debug/rendering_stats_instrumentation.cc
+++ b/cc/debug/rendering_stats_instrumentation.cc
@@ -20,7 +20,22 @@ RenderingStatsInstrumentation::~RenderingStatsInstrumentation() {}
RenderingStats RenderingStatsInstrumentation::GetRenderingStats() {
base::AutoLock scoped_lock(lock_);
- return rendering_stats_;
+ RenderingStats rendering_stats;
+ rendering_stats.main_stats = main_stats_accu_;
+ rendering_stats.main_stats.Add(main_stats_);
+ rendering_stats.impl_stats = impl_stats_accu_;
+ rendering_stats.impl_stats.Add(impl_stats_);
+ return rendering_stats;
+}
+
+void RenderingStatsInstrumentation::AccumulateAndClearMainThreadStats() {
+ main_stats_accu_.Add(main_stats_);
+ main_stats_ = MainThreadRenderingStats();
+}
+
+void RenderingStatsInstrumentation::AccumulateAndClearImplThreadStats() {
+ impl_stats_accu_.Add(impl_stats_);
+ impl_stats_ = ImplThreadRenderingStats();
}
base::TimeTicks RenderingStatsInstrumentation::StartRecording() const {
@@ -41,23 +56,23 @@ void RenderingStatsInstrumentation::IncrementAnimationFrameCount() {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.animation_frame_count++;
+ main_stats_.animation_frame_count++;
}
-void RenderingStatsInstrumentation::SetScreenFrameCount(int64 count) {
+void RenderingStatsInstrumentation::IncrementScreenFrameCount(int64 count) {
if (!record_rendering_stats_)
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.screen_frame_count = count;
+ impl_stats_.screen_frame_count += count;
}
-void RenderingStatsInstrumentation::SetDroppedFrameCount(int64 count) {
+void RenderingStatsInstrumentation::IncrementDroppedFrameCount(int64 count) {
if (!record_rendering_stats_)
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.dropped_frame_count = count;
+ impl_stats_.dropped_frame_count += count;
}
void RenderingStatsInstrumentation::AddCommit(base::TimeDelta duration) {
@@ -65,8 +80,8 @@ void RenderingStatsInstrumentation::AddCommit(base::TimeDelta duration) {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_commit_time += duration;
- rendering_stats_.total_commit_count++;
+ main_stats_.commit_time += duration;
+ main_stats_.commit_count++;
}
void RenderingStatsInstrumentation::AddPaint(base::TimeDelta duration,
@@ -75,8 +90,8 @@ void RenderingStatsInstrumentation::AddPaint(base::TimeDelta duration,
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_paint_time += duration;
- rendering_stats_.total_pixels_painted += pixels;
+ main_stats_.paint_time += duration;
+ main_stats_.painted_pixel_count += pixels;
}
void RenderingStatsInstrumentation::AddRecord(base::TimeDelta duration,
@@ -85,8 +100,8 @@ void RenderingStatsInstrumentation::AddRecord(base::TimeDelta duration,
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_record_time += duration;
- rendering_stats_.total_pixels_recorded += pixels;
+ main_stats_.record_time += duration;
+ main_stats_.recorded_pixel_count += pixels;
}
void RenderingStatsInstrumentation::AddRaster(base::TimeDelta total_duration,
@@ -97,12 +112,12 @@ void RenderingStatsInstrumentation::AddRaster(base::TimeDelta total_duration,
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_rasterize_time += total_duration;
- rendering_stats_.best_rasterize_time += best_duration;
- rendering_stats_.total_pixels_rasterized += pixels;
+ impl_stats_.rasterize_time += total_duration;
+ impl_stats_.best_rasterize_time += best_duration;
+ impl_stats_.rasterized_pixel_count += pixels;
if (is_in_pending_tree_now_bin) {
- rendering_stats_.total_rasterize_time_for_now_bins_on_pending_tree +=
+ impl_stats_.rasterize_time_for_now_bins_on_pending_tree +=
total_duration;
}
}
@@ -112,7 +127,7 @@ void RenderingStatsInstrumentation::IncrementImplThreadScrolls() {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.num_impl_thread_scrolls++;
+ impl_stats_.impl_thread_scroll_count++;
}
void RenderingStatsInstrumentation::IncrementMainThreadScrolls() {
@@ -120,7 +135,7 @@ void RenderingStatsInstrumentation::IncrementMainThreadScrolls() {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.num_main_thread_scrolls++;
+ impl_stats_.main_thread_scroll_count++;
}
void RenderingStatsInstrumentation::AddLayersDrawn(int64 amount) {
@@ -128,7 +143,7 @@ void RenderingStatsInstrumentation::AddLayersDrawn(int64 amount) {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.num_layers_drawn += amount;
+ impl_stats_.drawn_layer_count += amount;
}
void RenderingStatsInstrumentation::AddMissingTiles(int64 amount) {
@@ -136,7 +151,7 @@ void RenderingStatsInstrumentation::AddMissingTiles(int64 amount) {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.num_missing_tiles += amount;
+ impl_stats_.missing_tile_count += amount;
}
void RenderingStatsInstrumentation::AddDeferredImageDecode(
@@ -145,8 +160,8 @@ void RenderingStatsInstrumentation::AddDeferredImageDecode(
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_deferred_image_decode_time += duration;
- rendering_stats_.total_deferred_image_decode_count++;
+ impl_stats_.deferred_image_decode_time += duration;
+ impl_stats_.deferred_image_decode_count++;
}
void RenderingStatsInstrumentation::AddImageGathering(
@@ -155,8 +170,8 @@ void RenderingStatsInstrumentation::AddImageGathering(
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_image_gathering_time += duration;
- rendering_stats_.total_image_gathering_count++;
+ main_stats_.image_gathering_time += duration;
+ main_stats_.image_gathering_count++;
}
void RenderingStatsInstrumentation::IncrementDeferredImageCacheHitCount() {
@@ -164,7 +179,7 @@ void RenderingStatsInstrumentation::IncrementDeferredImageCacheHitCount() {
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_deferred_image_cache_hit_count++;
+ impl_stats_.deferred_image_cache_hit_count++;
}
void RenderingStatsInstrumentation::AddAnalysisResult(
@@ -174,10 +189,10 @@ void RenderingStatsInstrumentation::AddAnalysisResult(
return;
base::AutoLock scoped_lock(lock_);
- rendering_stats_.total_tiles_analyzed++;
- rendering_stats_.total_tile_analysis_time += duration;
+ impl_stats_.tile_analysis_count++;
+ impl_stats_.tile_analysis_time += duration;
if (is_solid_color)
- rendering_stats_.solid_color_tiles_analyzed++;
+ impl_stats_.solid_color_tile_analysis_count++;
}
} // namespace cc