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/resources/picture_layer_tiling_perftest.cc

Issue 839143002: Roll Chrome into Mojo. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rebase Created 5 years, 11 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
« no previous file with comments | « cc/resources/picture_layer_tiling.cc ('k') | cc/resources/picture_layer_tiling_set.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/lap_timer.h" 5 #include "cc/debug/lap_timer.h"
6 #include "cc/resources/picture_layer_tiling.h" 6 #include "cc/resources/picture_layer_tiling.h"
7 #include "cc/resources/resource_provider.h" 7 #include "cc/resources/resource_provider.h"
8 #include "cc/resources/scoped_resource.h" 8 #include "cc/resources/scoped_resource.h"
9 #include "cc/test/fake_output_surface.h" 9 #include "cc/test/fake_output_surface.h"
10 #include "cc/test/fake_output_surface_client.h" 10 #include "cc/test/fake_output_surface_client.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 } while (!timer_.HasTimeLimitExpired()); 121 } while (!timer_.HasTimeLimitExpired());
122 122
123 perf_test::PrintResult("compute_tile_priority_rects_scrolling", 123 perf_test::PrintResult("compute_tile_priority_rects_scrolling",
124 "", 124 "",
125 test_name, 125 test_name,
126 timer_.LapsPerSecond(), 126 timer_.LapsPerSecond(),
127 "runs/s", 127 "runs/s",
128 true); 128 true);
129 } 129 }
130 130
131 void RunRasterIteratorConstructTest(const std::string& test_name,
132 const gfx::Rect& viewport) {
133 LayerTreeSettings defaults;
134 scoped_refptr<FakePicturePileImpl> pile =
135 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(
136 viewport.size());
137 picture_layer_tiling_ = PictureLayerTiling::Create(
138 1, pile, &picture_layer_tiling_client_,
139 defaults.max_tiles_for_interest_area,
140 defaults.skewport_target_time_in_seconds,
141 defaults.skewport_extrapolation_limit_in_content_pixels);
142 picture_layer_tiling_client_.set_tree(ACTIVE_TREE);
143 picture_layer_tiling_->ComputeTilePriorityRects(viewport, 1.0f, 1.0,
144 Occlusion());
145
146 timer_.Reset();
147 do {
148 PictureLayerTiling::TilingRasterTileIterator it(
149 picture_layer_tiling_.get());
150 timer_.NextLap();
151 } while (!timer_.HasTimeLimitExpired());
152
153 perf_test::PrintResult("tiling_raster_tile_iterator_construct",
154 "",
155 test_name,
156 timer_.LapsPerSecond(),
157 "runs/s",
158 true);
159 }
160
161 void RunRasterIteratorConstructAndIterateTest(const std::string& test_name,
162 int num_tiles,
163 const gfx::Rect& viewport) {
164 gfx::Size bounds(10000, 10000);
165 LayerTreeSettings defaults;
166 scoped_refptr<FakePicturePileImpl> pile =
167 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(bounds);
168 picture_layer_tiling_ = PictureLayerTiling::Create(
169 1, pile, &picture_layer_tiling_client_,
170 defaults.max_tiles_for_interest_area,
171 defaults.skewport_target_time_in_seconds,
172 defaults.skewport_extrapolation_limit_in_content_pixels);
173 picture_layer_tiling_client_.set_tree(ACTIVE_TREE);
174 picture_layer_tiling_->ComputeTilePriorityRects(viewport, 1.0f, 1.0,
175 Occlusion());
176
177 timer_.Reset();
178 do {
179 int count = num_tiles;
180 PictureLayerTiling::TilingRasterTileIterator it(
181 picture_layer_tiling_.get());
182 while (count--) {
183 ASSERT_TRUE(it) << "count: " << count;
184 ASSERT_TRUE(*it != NULL) << "count: " << count;
185 ++it;
186 }
187 timer_.NextLap();
188 } while (!timer_.HasTimeLimitExpired());
189
190 perf_test::PrintResult("tiling_raster_tile_iterator_construct_and_iterate",
191 "",
192 test_name,
193 timer_.LapsPerSecond(),
194 "runs/s",
195 true);
196 }
197
198 private: 131 private:
199 FakePictureLayerTilingClient picture_layer_tiling_client_; 132 FakePictureLayerTilingClient picture_layer_tiling_client_;
200 scoped_ptr<PictureLayerTiling> picture_layer_tiling_; 133 scoped_ptr<PictureLayerTiling> picture_layer_tiling_;
201 134
202 LapTimer timer_; 135 LapTimer timer_;
203 136
204 scoped_refptr<ContextProvider> context_provider_; 137 scoped_refptr<ContextProvider> context_provider_;
205 FakeOutputSurfaceClient output_surface_client_; 138 FakeOutputSurfaceClient output_surface_client_;
206 scoped_ptr<FakeOutputSurface> output_surface_; 139 scoped_ptr<FakeOutputSurface> output_surface_;
207 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; 140 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
(...skipping 24 matching lines...) Expand all
232 165
233 transform.Rotate(10); 166 transform.Rotate(10);
234 RunComputeTilePriorityRectsStationaryTest("rotation", transform); 167 RunComputeTilePriorityRectsStationaryTest("rotation", transform);
235 RunComputeTilePriorityRectsScrollingTest("rotation", transform); 168 RunComputeTilePriorityRectsScrollingTest("rotation", transform);
236 169
237 transform.ApplyPerspectiveDepth(10); 170 transform.ApplyPerspectiveDepth(10);
238 RunComputeTilePriorityRectsStationaryTest("perspective", transform); 171 RunComputeTilePriorityRectsStationaryTest("perspective", transform);
239 RunComputeTilePriorityRectsScrollingTest("perspective", transform); 172 RunComputeTilePriorityRectsScrollingTest("perspective", transform);
240 } 173 }
241 174
242 TEST_F(PictureLayerTilingPerfTest, TilingRasterTileIteratorConstruct) {
243 RunRasterIteratorConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100));
244 RunRasterIteratorConstructTest("50_0_100x100", gfx::Rect(50, 0, 100, 100));
245 RunRasterIteratorConstructTest("100_0_100x100", gfx::Rect(100, 0, 100, 100));
246 RunRasterIteratorConstructTest("150_0_100x100", gfx::Rect(150, 0, 100, 100));
247 }
248
249 TEST_F(PictureLayerTilingPerfTest,
250 TilingRasterTileIteratorConstructAndIterate) {
251 RunRasterIteratorConstructAndIterateTest(
252 "32_100x100", 32, gfx::Rect(0, 0, 100, 100));
253 RunRasterIteratorConstructAndIterateTest(
254 "32_500x500", 32, gfx::Rect(0, 0, 500, 500));
255 RunRasterIteratorConstructAndIterateTest(
256 "64_100x100", 64, gfx::Rect(0, 0, 100, 100));
257 RunRasterIteratorConstructAndIterateTest(
258 "64_500x500", 64, gfx::Rect(0, 0, 500, 500));
259 }
260
261 } // namespace 175 } // namespace
262
263 } // namespace cc 176 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/picture_layer_tiling.cc ('k') | cc/resources/picture_layer_tiling_set.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698