| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 RasterizeAndRecordBenchmarkImpl::~RasterizeAndRecordBenchmarkImpl() {} | 124 RasterizeAndRecordBenchmarkImpl::~RasterizeAndRecordBenchmarkImpl() {} |
| 125 | 125 |
| 126 void RasterizeAndRecordBenchmarkImpl::DidCompleteCommit( | 126 void RasterizeAndRecordBenchmarkImpl::DidCompleteCommit( |
| 127 LayerTreeHostImpl* host) { | 127 LayerTreeHostImpl* host) { |
| 128 LayerTreeHostCommon::CallFunctionForEveryLayer( | 128 LayerTreeHostCommon::CallFunctionForEveryLayer( |
| 129 host->active_tree(), [this](LayerImpl* layer) { | 129 host->active_tree(), [this](LayerImpl* layer) { |
| 130 rasterize_results_.total_layers++; | 130 rasterize_results_.total_layers++; |
| 131 layer->RunMicroBenchmark(this); | 131 layer->RunMicroBenchmark(this); |
| 132 }); | 132 }); |
| 133 | 133 |
| 134 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue()); | 134 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); |
| 135 result->SetDouble("rasterize_time_ms", | 135 result->SetDouble("rasterize_time_ms", |
| 136 rasterize_results_.total_best_time.InMillisecondsF()); | 136 rasterize_results_.total_best_time.InMillisecondsF()); |
| 137 result->SetDouble("total_pictures_in_pile_size", | 137 result->SetDouble("total_pictures_in_pile_size", |
| 138 static_cast<int>(rasterize_results_.total_memory_usage)); | 138 static_cast<int>(rasterize_results_.total_memory_usage)); |
| 139 result->SetInteger("pixels_rasterized", rasterize_results_.pixels_rasterized); | 139 result->SetInteger("pixels_rasterized", rasterize_results_.pixels_rasterized); |
| 140 result->SetInteger("pixels_rasterized_with_non_solid_color", | 140 result->SetInteger("pixels_rasterized_with_non_solid_color", |
| 141 rasterize_results_.pixels_rasterized_with_non_solid_color); | 141 rasterize_results_.pixels_rasterized_with_non_solid_color); |
| 142 result->SetInteger("pixels_rasterized_as_opaque", | 142 result->SetInteger("pixels_rasterized_as_opaque", |
| 143 rasterize_results_.pixels_rasterized_as_opaque); | 143 rasterize_results_.pixels_rasterized_as_opaque); |
| 144 result->SetInteger("total_layers", rasterize_results_.total_layers); | 144 result->SetInteger("total_layers", rasterize_results_.total_layers); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 163 return; | 163 return; |
| 164 } | 164 } |
| 165 | 165 |
| 166 FixedInvalidationPictureLayerTilingClient client(layer, | 166 FixedInvalidationPictureLayerTilingClient client(layer, |
| 167 gfx::Rect(layer->bounds())); | 167 gfx::Rect(layer->bounds())); |
| 168 | 168 |
| 169 // In this benchmark, we will create a local tiling set and measure how long | 169 // In this benchmark, we will create a local tiling set and measure how long |
| 170 // it takes to rasterize content. As such, the actual settings used here don't | 170 // it takes to rasterize content. As such, the actual settings used here don't |
| 171 // really matter. | 171 // really matter. |
| 172 const LayerTreeSettings& settings = layer->layer_tree_impl()->settings(); | 172 const LayerTreeSettings& settings = layer->layer_tree_impl()->settings(); |
| 173 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( | 173 std::unique_ptr<PictureLayerTilingSet> tiling_set = |
| 174 layer->GetTree(), &client, settings.tiling_interest_area_padding, | 174 PictureLayerTilingSet::Create( |
| 175 settings.skewport_target_time_in_seconds, | 175 layer->GetTree(), &client, settings.tiling_interest_area_padding, |
| 176 settings.skewport_extrapolation_limit_in_content_pixels); | 176 settings.skewport_target_time_in_seconds, |
| 177 settings.skewport_extrapolation_limit_in_content_pixels); |
| 177 | 178 |
| 178 PictureLayerTiling* tiling = | 179 PictureLayerTiling* tiling = |
| 179 tiling_set->AddTiling(1.f, layer->GetRasterSource()); | 180 tiling_set->AddTiling(1.f, layer->GetRasterSource()); |
| 180 tiling->set_resolution(HIGH_RESOLUTION); | 181 tiling->set_resolution(HIGH_RESOLUTION); |
| 181 tiling->CreateAllTilesForTesting(); | 182 tiling->CreateAllTilesForTesting(); |
| 182 RasterSource* raster_source = tiling->raster_source().get(); | 183 RasterSource* raster_source = tiling->raster_source().get(); |
| 183 for (PictureLayerTiling::CoverageIterator it(tiling, 1.f, | 184 for (PictureLayerTiling::CoverageIterator it(tiling, 1.f, |
| 184 layer->visible_layer_rect()); | 185 layer->visible_layer_rect()); |
| 185 it; ++it) { | 186 it; ++it) { |
| 186 DCHECK(*it); | 187 DCHECK(*it); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 216 total_memory_usage(0), | 217 total_memory_usage(0), |
| 217 total_layers(0), | 218 total_layers(0), |
| 218 total_picture_layers(0), | 219 total_picture_layers(0), |
| 219 total_picture_layers_with_no_content(0), | 220 total_picture_layers_with_no_content(0), |
| 220 total_picture_layers_off_screen(0) { | 221 total_picture_layers_off_screen(0) { |
| 221 } | 222 } |
| 222 | 223 |
| 223 RasterizeAndRecordBenchmarkImpl::RasterizeResults::~RasterizeResults() {} | 224 RasterizeAndRecordBenchmarkImpl::RasterizeResults::~RasterizeResults() {} |
| 224 | 225 |
| 225 } // namespace cc | 226 } // namespace cc |
| OLD | NEW |