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

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: 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
« no previous file with comments | « content/common/gpu/gpu_rendering_stats.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 9b24efddf439512d7d388728906a0edd96f82ef0..6d2c0fba8b4b1e450c61bcc8ea20e488ff890294 100644
--- a/content/renderer/gpu/gpu_benchmarking_extension.cc
+++ b/content/renderer/gpu/gpu_benchmarking_extension.cc
@@ -81,6 +81,33 @@ 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));
+ }
+
+ 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 +185,11 @@ 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("numLayersDrawn"),
- v8::Number::New(
- stats.rendering_stats.numLayersDrawn));
-
- 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);
+ gpu_stats.EnumerateFields(&enumerator);
+
return stats_object;
}
« no previous file with comments | « 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