OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/debug/rasterize_and_record_benchmark_impl.h" | 5 #include "cc/debug/rasterize_and_record_benchmark_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 void RasterizeAndRecordBenchmarkImpl::DidCompleteCommit( | 166 void RasterizeAndRecordBenchmarkImpl::DidCompleteCommit( |
167 LayerTreeHostImpl* host) { | 167 LayerTreeHostImpl* host) { |
168 LayerTreeHostCommon::CallFunctionForSubtree( | 168 LayerTreeHostCommon::CallFunctionForSubtree( |
169 host->RootLayer(), | 169 host->RootLayer(), |
170 base::Bind(&RasterizeAndRecordBenchmarkImpl::Run, | 170 base::Bind(&RasterizeAndRecordBenchmarkImpl::Run, |
171 base::Unretained(this))); | 171 base::Unretained(this))); |
172 | 172 |
173 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue()); | 173 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue()); |
174 result->SetDouble("rasterize_time_ms", | 174 result->SetDouble("rasterize_time_ms", |
175 rasterize_results_.total_best_time.InMillisecondsF()); | 175 rasterize_results_.total_best_time.InMillisecondsF()); |
| 176 result->SetDouble("total_pictures_in_pile_size", |
| 177 rasterize_results_.total_memory_usage); |
176 result->SetInteger("pixels_rasterized", rasterize_results_.pixels_rasterized); | 178 result->SetInteger("pixels_rasterized", rasterize_results_.pixels_rasterized); |
177 result->SetInteger("pixels_rasterized_with_non_solid_color", | 179 result->SetInteger("pixels_rasterized_with_non_solid_color", |
178 rasterize_results_.pixels_rasterized_with_non_solid_color); | 180 rasterize_results_.pixels_rasterized_with_non_solid_color); |
179 result->SetInteger("pixels_rasterized_as_opaque", | 181 result->SetInteger("pixels_rasterized_as_opaque", |
180 rasterize_results_.pixels_rasterized_as_opaque); | 182 rasterize_results_.pixels_rasterized_as_opaque); |
181 result->SetInteger("total_layers", rasterize_results_.total_layers); | 183 result->SetInteger("total_layers", rasterize_results_.total_layers); |
182 result->SetInteger("total_picture_layers", | 184 result->SetInteger("total_picture_layers", |
183 rasterize_results_.total_picture_layers); | 185 rasterize_results_.total_picture_layers); |
184 result->SetInteger("total_picture_layers_with_no_content", | 186 result->SetInteger("total_picture_layers_with_no_content", |
185 rasterize_results_.total_picture_layers_with_no_content); | 187 rasterize_results_.total_picture_layers_with_no_content); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 if (layer->contents_opaque()) | 258 if (layer->contents_opaque()) |
257 rasterize_results_.pixels_rasterized_as_opaque += tile_size; | 259 rasterize_results_.pixels_rasterized_as_opaque += tile_size; |
258 | 260 |
259 if (!is_solid_color) { | 261 if (!is_solid_color) { |
260 rasterize_results_.pixels_rasterized_with_non_solid_color += tile_size; | 262 rasterize_results_.pixels_rasterized_with_non_solid_color += tile_size; |
261 } | 263 } |
262 | 264 |
263 rasterize_results_.pixels_rasterized += tile_size; | 265 rasterize_results_.pixels_rasterized += tile_size; |
264 rasterize_results_.total_best_time += min_time; | 266 rasterize_results_.total_best_time += min_time; |
265 } | 267 } |
| 268 |
| 269 const RasterSource* layer_raster_source = layer->GetRasterSource(); |
| 270 rasterize_results_.total_memory_usage += |
| 271 layer_raster_source->GetPictureMemoryUsage(); |
266 } | 272 } |
267 | 273 |
268 RasterizeAndRecordBenchmarkImpl::RasterizeResults::RasterizeResults() | 274 RasterizeAndRecordBenchmarkImpl::RasterizeResults::RasterizeResults() |
269 : pixels_rasterized(0), | 275 : pixels_rasterized(0), |
270 pixels_rasterized_with_non_solid_color(0), | 276 pixels_rasterized_with_non_solid_color(0), |
271 pixels_rasterized_as_opaque(0), | 277 pixels_rasterized_as_opaque(0), |
| 278 total_memory_usage(0), |
272 total_layers(0), | 279 total_layers(0), |
273 total_picture_layers(0), | 280 total_picture_layers(0), |
274 total_picture_layers_with_no_content(0), | 281 total_picture_layers_with_no_content(0), |
275 total_picture_layers_off_screen(0) {} | 282 total_picture_layers_off_screen(0) { |
| 283 } |
276 | 284 |
277 RasterizeAndRecordBenchmarkImpl::RasterizeResults::~RasterizeResults() {} | 285 RasterizeAndRecordBenchmarkImpl::RasterizeResults::~RasterizeResults() {} |
278 | 286 |
279 } // namespace cc | 287 } // namespace cc |
OLD | NEW |