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

Unified Diff: content/renderer/gpu/gpu_benchmarking_extension.cc

Issue 11280210: Move RenderStats enumeration out of gpu_benchmarking_extension. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updating gpu_rendering_stats. Created 8 years, 1 month 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: content/renderer/gpu/gpu_benchmarking_extension.cc
diff --git a/content/renderer/gpu/gpu_benchmarking_extension.cc b/content/renderer/gpu/gpu_benchmarking_extension.cc
index 2d1b65d89acfbddb7f33151c3a5c1632cba82de1..d81d68427fd53d77449f22257b22ae9674477e8f 100644
--- a/content/renderer/gpu/gpu_benchmarking_extension.cc
+++ b/content/renderer/gpu/gpu_benchmarking_extension.cc
@@ -81,6 +81,43 @@ class SkPictureRecorder : public WebViewBenchmarkSupport::PaintClient {
SkPicture picture_;
};
+class RenderingStatsEnumerator : public cc::RenderingStats::Enumerator {
+ public:
+ RenderingStatsEnumerator(v8::Handle<v8::Object> stats_object)
+ : stats_object(stats_object) { }
+
+ virtual void addInt64(const char* name, int64 value) {
+ stats_object->Set(v8::String::New(name), v8::Number::New(value));
+ }
+
+ virtual void addDouble(const char* name, double value) {
+ stats_object->Set(v8::String::New(name), v8::Number::New(value));
+ }
+
+ private:
+ v8::Handle<v8::Object> stats_object;
+};
+
+class GpuRenderingStatsEnumerator :
+ public content::GpuRenderingStats::Enumerator {
+ public:
+ GpuRenderingStatsEnumerator(v8::Handle<v8::Object> stats_object)
+ : stats_object(stats_object) { }
+
+ virtual void addInt(const char* name, int value) {
+ stats_object->Set(v8::String::New(name), v8::Integer::New(value));
+ }
+
+ virtual void addTimeDeltaInSecondsF(const char* name,
+ const base::TimeDelta& value) {
+ stats_object->Set(v8::String::New(name),
+ v8::Number::New(value.InSecondsF()));
+ }
+
+ private:
+ v8::Handle<v8::Object> stats_object;
+};
+
} // namespace
namespace content {
@@ -158,62 +195,13 @@ class GpuBenchmarkingWrapper : public v8::Extension {
content::GpuRenderingStats gpu_stats;
render_view_impl->GetGpuRenderingStats(&gpu_stats);
v8::Handle<v8::Object> stats_object = v8::Object::New();
- stats_object->Set(v8::String::New("numAnimationFrames"),
- v8::Number::New(
- stats.rendering_stats.numAnimationFrames));
- stats_object->Set(v8::String::New("numFramesSentToScreen"),
- v8::Number::New(
- stats.rendering_stats.numFramesSentToScreen));
- stats_object->Set(v8::String::New("droppedFrameCount"),
- v8::Number::New(
- stats.rendering_stats.droppedFrameCount));
- stats_object->Set(v8::String::New("totalPaintTimeInSeconds"),
- v8::Number::New(
- stats.rendering_stats.totalPaintTimeInSeconds));
- stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"),
- v8::Number::New(
- stats.rendering_stats.totalRasterizeTimeInSeconds));
- stats_object->Set(v8::String::New("totalCommitTimeInSeconds"),
- v8::Number::New(
- stats.rendering_stats.totalCommitTimeInSeconds));
- stats_object->Set(v8::String::New("totalCommitCount"),
- v8::Number::New(
- stats.rendering_stats.totalCommitCount));
- stats_object->Set(v8::String::New("numImplThreadScrolls"),
- v8::Number::New(
- stats.rendering_stats.numImplThreadScrolls));
- stats_object->Set(v8::String::New("numMainThreadScrolls"),
- v8::Number::New(
- stats.rendering_stats.numMainThreadScrolls));
- stats_object->Set(v8::String::New("totalPixelsPainted"),
- v8::Number::New(
- stats.rendering_stats.totalPixelsPainted));
- stats_object->Set(v8::String::New("totalPixelsRasterized"),
- v8::Number::New(
- stats.rendering_stats.totalPixelsRasterized));
- stats_object->Set(v8::String::New("numLayersInLayerTree"),
- v8::Number::New(
- stats.rendering_stats.numLayersInLayerTree));
-
- stats_object->Set(v8::String::New("globalTextureUploadCount"),
- v8::Number::New(gpu_stats.global_texture_upload_count));
- stats_object->Set(
- v8::String::New("globalTotalTextureUploadTimeInSeconds"),
- v8::Number::New(
- gpu_stats.global_total_texture_upload_time.InSecondsF()));
- stats_object->Set(v8::String::New("textureUploadCount"),
- v8::Number::New(gpu_stats.texture_upload_count));
- stats_object->Set(
- v8::String::New("totalTextureUploadTimeInSeconds"),
- v8::Number::New(gpu_stats.total_texture_upload_time.InSecondsF()));
- stats_object->Set(
- v8::String::New("globalTotalProcessingCommandsTimeInSeconds"),
- v8::Number::New(
- gpu_stats.global_total_processing_commands_time.InSecondsF()));
- stats_object->Set(
- v8::String::New("totalProcessingCommandsTimeInSeconds"),
- v8::Number::New(
- gpu_stats.total_processing_commands_time.InSecondsF()));
+
+ RenderingStatsEnumerator enumerator(stats_object);
+ stats.rendering_stats.enumerateFields(&enumerator);
+
+ GpuRenderingStatsEnumerator gpu_enumerator(stats_object);
+ gpu_stats.enumerateFields(&gpu_enumerator);
+
return stats_object;
}
« content/common/gpu/gpu_rendering_stats.h ('K') | « content/common/gpu/gpu_rendering_stats.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698