| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/gpu/gpu_benchmarking_extension.h" | 5 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| 11 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
| 12 #include "base/string_number_conversions.h" | 12 #include "base/string_number_conversions.h" |
| 13 #include "content/public/common/gpu_rendering_stats.h" |
| 13 #include "content/public/renderer/render_thread.h" | 14 #include "content/public/renderer/render_thread.h" |
| 14 #include "content/renderer/all_rendering_benchmarks.h" | 15 #include "content/renderer/all_rendering_benchmarks.h" |
| 15 #include "content/renderer/render_view_impl.h" | 16 #include "content/renderer/render_view_impl.h" |
| 16 #include "content/renderer/rendering_benchmark.h" | 17 #include "content/renderer/rendering_benchmark.h" |
| 17 #include "third_party/skia/include/core/SkGraphics.h" | 18 #include "third_party/skia/include/core/SkGraphics.h" |
| 18 #include "third_party/skia/include/core/SkPicture.h" | 19 #include "third_party/skia/include/core/SkPicture.h" |
| 19 #include "third_party/skia/include/core/SkStream.h" | 20 #include "third_party/skia/include/core/SkStream.h" |
| 20 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" | 21 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" |
| 21 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" | 22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
| 22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" | 23 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 if (!web_view) | 145 if (!web_view) |
| 145 return v8::Undefined(); | 146 return v8::Undefined(); |
| 146 | 147 |
| 147 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); | 148 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); |
| 148 if (!render_view_impl) | 149 if (!render_view_impl) |
| 149 return v8::Undefined(); | 150 return v8::Undefined(); |
| 150 | 151 |
| 151 WebRenderingStats stats; | 152 WebRenderingStats stats; |
| 152 render_view_impl->GetRenderingStats(stats); | 153 render_view_impl->GetRenderingStats(stats); |
| 153 | 154 |
| 155 content::GpuRenderingStats gpu_stats; |
| 156 render_view_impl->GetGpuRenderingStats(&gpu_stats); |
| 157 |
| 154 v8::Handle<v8::Object> stats_object = v8::Object::New(); | 158 v8::Handle<v8::Object> stats_object = v8::Object::New(); |
| 155 stats_object->Set(v8::String::New("numAnimationFrames"), | 159 stats_object->Set(v8::String::New("numAnimationFrames"), |
| 156 v8::Integer::New(stats.numAnimationFrames)); | 160 v8::Integer::New(stats.numAnimationFrames)); |
| 157 stats_object->Set(v8::String::New("numFramesSentToScreen"), | 161 stats_object->Set(v8::String::New("numFramesSentToScreen"), |
| 158 v8::Integer::New(stats.numFramesSentToScreen)); | 162 v8::Integer::New(stats.numFramesSentToScreen)); |
| 159 stats_object->Set(v8::String::New("droppedFrameCount"), | 163 stats_object->Set(v8::String::New("droppedFrameCount"), |
| 160 v8::Integer::New(stats.droppedFrameCount)); | 164 v8::Integer::New(stats.droppedFrameCount)); |
| 161 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), | 165 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), |
| 162 v8::Number::New(stats.totalPaintTimeInSeconds)); | 166 v8::Number::New(stats.totalPaintTimeInSeconds)); |
| 163 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), | 167 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), |
| 164 v8::Number::New(stats.totalRasterizeTimeInSeconds)); | 168 v8::Number::New(stats.totalRasterizeTimeInSeconds)); |
| 169 stats_object->Set(v8::String::New("globalTextureUploadCount"), |
| 170 v8::Number::New(gpu_stats.global_texture_upload_count)); |
| 171 stats_object->Set( |
| 172 v8::String::New("globalTotalTextureUploadTimeInSeconds"), |
| 173 v8::Number::New( |
| 174 gpu_stats.global_total_texture_upload_time.InSecondsF())); |
| 175 stats_object->Set(v8::String::New("textureUploadCount"), |
| 176 v8::Number::New(gpu_stats.texture_upload_count)); |
| 177 stats_object->Set( |
| 178 v8::String::New("totalTextureUploadTimeInSeconds"), |
| 179 v8::Number::New(gpu_stats.total_texture_upload_time.InSecondsF())); |
| 180 stats_object->Set( |
| 181 v8::String::New("globalTotalProcessingCommandsTimeInSeconds"), |
| 182 v8::Number::New( |
| 183 gpu_stats.global_total_processing_commands_time.InSecondsF())); |
| 184 stats_object->Set( |
| 185 v8::String::New("totalProcessingCommandsTimeInSeconds"), |
| 186 v8::Number::New( |
| 187 gpu_stats.total_processing_commands_time.InSecondsF())); |
| 165 return stats_object; | 188 return stats_object; |
| 166 } | 189 } |
| 167 | 190 |
| 168 static v8::Handle<v8::Value> PrintToSkPicture(const v8::Arguments& args) { | 191 static v8::Handle<v8::Value> PrintToSkPicture(const v8::Arguments& args) { |
| 169 if (args.Length() != 1) | 192 if (args.Length() != 1) |
| 170 return v8::Undefined(); | 193 return v8::Undefined(); |
| 171 | 194 |
| 172 v8::String::AsciiValue dirname(args[0]); | 195 v8::String::AsciiValue dirname(args[0]); |
| 173 if (dirname.length() == 0) | 196 if (dirname.length() == 0) |
| 174 return v8::Undefined(); | 197 return v8::Undefined(); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 | 335 |
| 313 return results; | 336 return results; |
| 314 } | 337 } |
| 315 }; | 338 }; |
| 316 | 339 |
| 317 v8::Extension* GpuBenchmarkingExtension::Get() { | 340 v8::Extension* GpuBenchmarkingExtension::Get() { |
| 318 return new GpuBenchmarkingWrapper(); | 341 return new GpuBenchmarkingWrapper(); |
| 319 } | 342 } |
| 320 | 343 |
| 321 } // namespace content | 344 } // namespace content |
| OLD | NEW |