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

Side by Side Diff: cc/debug/rasterize_and_record_benchmark.cc

Issue 988693005: Chromium roll (https://codereview.chromium.org/976353002) (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: fixed bad android build patch Created 5 years, 9 months 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 unified diff | Download patch
OLDNEW
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.h" 5 #include "cc/debug/rasterize_and_record_benchmark.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 } 58 }
59 59
60 RasterizeAndRecordBenchmark::~RasterizeAndRecordBenchmark() { 60 RasterizeAndRecordBenchmark::~RasterizeAndRecordBenchmark() {
61 weak_ptr_factory_.InvalidateWeakPtrs(); 61 weak_ptr_factory_.InvalidateWeakPtrs();
62 } 62 }
63 63
64 void RasterizeAndRecordBenchmark::DidUpdateLayers(LayerTreeHost* host) { 64 void RasterizeAndRecordBenchmark::DidUpdateLayers(LayerTreeHost* host) {
65 host_ = host; 65 host_ = host;
66 LayerTreeHostCommon::CallFunctionForSubtree( 66 LayerTreeHostCommon::CallFunctionForSubtree(
67 host->root_layer(), 67 host->root_layer(),
68 base::Bind(&RasterizeAndRecordBenchmark::Run, base::Unretained(this))); 68 [this](Layer* layer) { layer->RunMicroBenchmark(this); });
69 69
70 DCHECK(!results_.get()); 70 DCHECK(!results_.get());
71 results_ = make_scoped_ptr(new base::DictionaryValue); 71 results_ = make_scoped_ptr(new base::DictionaryValue);
72 results_->SetInteger("pixels_recorded", record_results_.pixels_recorded); 72 results_->SetInteger("pixels_recorded", record_results_.pixels_recorded);
73 results_->SetInteger("picture_memory_usage", record_results_.bytes_used); 73 results_->SetInteger("picture_memory_usage", record_results_.bytes_used);
74 74
75 for (int i = 0; i < RecordingSource::RECORDING_MODE_COUNT; i++) { 75 for (int i = 0; i < RecordingSource::RECORDING_MODE_COUNT; i++) {
76 std::string name = base::StringPrintf("record_time%s_ms", kModeSuffixes[i]); 76 std::string name = base::StringPrintf("record_time%s_ms", kModeSuffixes[i]);
77 results_->SetDouble(name, 77 results_->SetDouble(name,
78 record_results_.total_best_time[i].InMillisecondsF()); 78 record_results_.total_best_time[i].InMillisecondsF());
(...skipping 16 matching lines...) Expand all
95 95
96 scoped_ptr<MicroBenchmarkImpl> RasterizeAndRecordBenchmark::CreateBenchmarkImpl( 96 scoped_ptr<MicroBenchmarkImpl> RasterizeAndRecordBenchmark::CreateBenchmarkImpl(
97 scoped_refptr<base::MessageLoopProxy> origin_loop) { 97 scoped_refptr<base::MessageLoopProxy> origin_loop) {
98 return make_scoped_ptr(new RasterizeAndRecordBenchmarkImpl( 98 return make_scoped_ptr(new RasterizeAndRecordBenchmarkImpl(
99 origin_loop, 99 origin_loop,
100 settings_.get(), 100 settings_.get(),
101 base::Bind(&RasterizeAndRecordBenchmark::RecordRasterResults, 101 base::Bind(&RasterizeAndRecordBenchmark::RecordRasterResults,
102 weak_ptr_factory_.GetWeakPtr()))); 102 weak_ptr_factory_.GetWeakPtr())));
103 } 103 }
104 104
105 void RasterizeAndRecordBenchmark::Run(Layer* layer) {
106 layer->RunMicroBenchmark(this);
107 }
108
109 void RasterizeAndRecordBenchmark::RunOnLayer(PictureLayer* layer) { 105 void RasterizeAndRecordBenchmark::RunOnLayer(PictureLayer* layer) {
110 DCHECK(host_); 106 DCHECK(host_);
111 107
112 gfx::Rect visible_content_rect = gfx::ScaleToEnclosingRect( 108 gfx::Rect visible_content_rect = gfx::ScaleToEnclosingRect(
113 layer->visible_content_rect(), 1.f / layer->contents_scale_x()); 109 layer->visible_content_rect(), 1.f / layer->contents_scale_x());
114 if (visible_content_rect.IsEmpty()) 110 if (visible_content_rect.IsEmpty())
115 return; 111 return;
116 112
117 if (host_->settings().use_display_lists) { 113 if (host_->settings().use_display_lists) {
118 RunOnDisplayListLayer(layer, visible_content_rect); 114 RunOnDisplayListLayer(layer, visible_content_rect);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 } 232 }
237 } 233 }
238 234
239 RasterizeAndRecordBenchmark::RecordResults::RecordResults() 235 RasterizeAndRecordBenchmark::RecordResults::RecordResults()
240 : pixels_recorded(0), bytes_used(0) { 236 : pixels_recorded(0), bytes_used(0) {
241 } 237 }
242 238
243 RasterizeAndRecordBenchmark::RecordResults::~RecordResults() {} 239 RasterizeAndRecordBenchmark::RecordResults::~RecordResults() {}
244 240
245 } // namespace cc 241 } // namespace cc
OLDNEW
« no previous file with comments | « cc/debug/rasterize_and_record_benchmark.h ('k') | cc/debug/rasterize_and_record_benchmark_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698