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

Side by Side Diff: cc/trees/layer_tree_host_perftest.cc

Issue 1513643010: cc:: Add remote mode to the compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments. Created 4 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 } 144 }
145 145
146 private: 146 private:
147 std::string json_; 147 std::string json_;
148 }; 148 };
149 149
150 // Simulates a tab switcher scene with two stacks of 10 tabs each. 150 // Simulates a tab switcher scene with two stacks of 10 tabs each.
151 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) { 151 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) {
152 SetTestName("10_10_single_thread"); 152 SetTestName("10_10_single_thread");
153 ReadTestFile("10_10_layer_tree"); 153 ReadTestFile("10_10_layer_tree");
154 RunTest(CompositorMode::SingleThreaded, false); 154 RunTest(CompositorMode::SINGLE_THREADED, false);
155 } 155 }
156 156
157 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenThreaded) { 157 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenThreaded) {
158 SetTestName("10_10_threaded_impl_side"); 158 SetTestName("10_10_threaded_impl_side");
159 ReadTestFile("10_10_layer_tree"); 159 ReadTestFile("10_10_layer_tree");
160 RunTest(CompositorMode::Threaded, false); 160 RunTest(CompositorMode::THREADED, false);
161 } 161 }
162 162
163 // Simulates a tab switcher scene with two stacks of 10 tabs each. 163 // Simulates a tab switcher scene with two stacks of 10 tabs each.
164 TEST_F(LayerTreeHostPerfTestJsonReader, 164 TEST_F(LayerTreeHostPerfTestJsonReader,
165 TenTenSingleThread_FullDamageEachFrame) { 165 TenTenSingleThread_FullDamageEachFrame) {
166 full_damage_each_frame_ = true; 166 full_damage_each_frame_ = true;
167 SetTestName("10_10_single_thread_full_damage_each_frame"); 167 SetTestName("10_10_single_thread_full_damage_each_frame");
168 ReadTestFile("10_10_layer_tree"); 168 ReadTestFile("10_10_layer_tree");
169 RunTest(CompositorMode::SingleThreaded, false); 169 RunTest(CompositorMode::SINGLE_THREADED, false);
170 } 170 }
171 171
172 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenThreaded_FullDamageEachFrame) { 172 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenThreaded_FullDamageEachFrame) {
173 full_damage_each_frame_ = true; 173 full_damage_each_frame_ = true;
174 SetTestName("10_10_threaded_impl_side_full_damage_each_frame"); 174 SetTestName("10_10_threaded_impl_side_full_damage_each_frame");
175 ReadTestFile("10_10_layer_tree"); 175 ReadTestFile("10_10_layer_tree");
176 RunTest(CompositorMode::Threaded, false); 176 RunTest(CompositorMode::THREADED, false);
177 } 177 }
178 178
179 // Invalidates a leaf layer in the tree on the main thread after every commit. 179 // Invalidates a leaf layer in the tree on the main thread after every commit.
180 class LayerTreeHostPerfTestLeafInvalidates 180 class LayerTreeHostPerfTestLeafInvalidates
181 : public LayerTreeHostPerfTestJsonReader { 181 : public LayerTreeHostPerfTestJsonReader {
182 public: 182 public:
183 void BuildTree() override { 183 void BuildTree() override {
184 LayerTreeHostPerfTestJsonReader::BuildTree(); 184 LayerTreeHostPerfTestJsonReader::BuildTree();
185 185
186 // Find a leaf layer. 186 // Find a leaf layer.
(...skipping 13 matching lines...) Expand all
200 200
201 protected: 201 protected:
202 Layer* layer_to_invalidate_; 202 Layer* layer_to_invalidate_;
203 }; 203 };
204 204
205 // Simulates a tab switcher scene with two stacks of 10 tabs each. Invalidate a 205 // Simulates a tab switcher scene with two stacks of 10 tabs each. Invalidate a
206 // property on a leaf layer in the tree every commit. 206 // property on a leaf layer in the tree every commit.
207 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenSingleThread) { 207 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenSingleThread) {
208 SetTestName("10_10_single_thread_leaf_invalidates"); 208 SetTestName("10_10_single_thread_leaf_invalidates");
209 ReadTestFile("10_10_layer_tree"); 209 ReadTestFile("10_10_layer_tree");
210 RunTest(CompositorMode::SingleThreaded, false); 210 RunTest(CompositorMode::SINGLE_THREADED, false);
211 } 211 }
212 212
213 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenThreaded) { 213 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenThreaded) {
214 SetTestName("10_10_threaded_impl_side_leaf_invalidates"); 214 SetTestName("10_10_threaded_impl_side_leaf_invalidates");
215 ReadTestFile("10_10_layer_tree"); 215 ReadTestFile("10_10_layer_tree");
216 RunTest(CompositorMode::Threaded, false); 216 RunTest(CompositorMode::THREADED, false);
217 } 217 }
218 218
219 // Simulates main-thread scrolling on each frame. 219 // Simulates main-thread scrolling on each frame.
220 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { 220 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader {
221 public: 221 public:
222 ScrollingLayerTreePerfTest() 222 ScrollingLayerTreePerfTest()
223 : LayerTreeHostPerfTestJsonReader() { 223 : LayerTreeHostPerfTestJsonReader() {
224 } 224 }
225 225
226 void BuildTree() override { 226 void BuildTree() override {
(...skipping 14 matching lines...) Expand all
241 scoped_refptr<Layer> scrollable_; 241 scoped_refptr<Layer> scrollable_;
242 }; 242 };
243 243
244 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageSingleThread) { 244 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageSingleThread) {
245 SetTestName("long_scrollable_page"); 245 SetTestName("long_scrollable_page");
246 ReadTestFile("long_scrollable_page"); 246 ReadTestFile("long_scrollable_page");
247 // TODO(vollick): Remove verify_property_trees setting after 247 // TODO(vollick): Remove verify_property_trees setting after
248 // crbug.com/444219 is fixed. 248 // crbug.com/444219 is fixed.
249 bool old_verify_property_trees = verify_property_trees(); 249 bool old_verify_property_trees = verify_property_trees();
250 set_verify_property_trees(false); 250 set_verify_property_trees(false);
251 RunTest(CompositorMode::SingleThreaded, false); 251 RunTest(CompositorMode::SINGLE_THREADED, false);
252 set_verify_property_trees(old_verify_property_trees); 252 set_verify_property_trees(old_verify_property_trees);
253 } 253 }
254 254
255 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageThreaded) { 255 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageThreaded) {
256 SetTestName("long_scrollable_page_threaded_impl_side"); 256 SetTestName("long_scrollable_page_threaded_impl_side");
257 ReadTestFile("long_scrollable_page"); 257 ReadTestFile("long_scrollable_page");
258 // TODO(vollick): Remove verify_property_trees setting after 258 // TODO(vollick): Remove verify_property_trees setting after
259 // crbug.com/444219 is fixed. 259 // crbug.com/444219 is fixed.
260 bool old_verify_property_trees = verify_property_trees(); 260 bool old_verify_property_trees = verify_property_trees();
261 set_verify_property_trees(false); 261 set_verify_property_trees(false);
262 RunTest(CompositorMode::Threaded, false); 262 RunTest(CompositorMode::THREADED, false);
263 set_verify_property_trees(old_verify_property_trees); 263 set_verify_property_trees(old_verify_property_trees);
264 } 264 }
265 265
266 static void EmptyReleaseCallback(const gpu::SyncToken& sync_token, 266 static void EmptyReleaseCallback(const gpu::SyncToken& sync_token,
267 bool lost_resource) {} 267 bool lost_resource) {}
268 268
269 // Simulates main-thread scrolling on each frame. 269 // Simulates main-thread scrolling on each frame.
270 class BrowserCompositorInvalidateLayerTreePerfTest 270 class BrowserCompositorInvalidateLayerTreePerfTest
271 : public LayerTreeHostPerfTestJsonReader { 271 : public LayerTreeHostPerfTestJsonReader {
272 public: 272 public:
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 private: 328 private:
329 scoped_refptr<TextureLayer> tab_contents_; 329 scoped_refptr<TextureLayer> tab_contents_;
330 unsigned next_sync_point_; 330 unsigned next_sync_point_;
331 bool clean_up_started_; 331 bool clean_up_started_;
332 }; 332 };
333 333
334 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) { 334 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) {
335 measure_commit_cost_ = true; 335 measure_commit_cost_ = true;
336 SetTestName("dense_layer_tree"); 336 SetTestName("dense_layer_tree");
337 ReadTestFile("dense_layer_tree"); 337 ReadTestFile("dense_layer_tree");
338 RunTest(CompositorMode::Threaded, false); 338 RunTest(CompositorMode::THREADED, false);
339 } 339 }
340 340
341 // Simulates a page with several large, transformed and animated layers. 341 // Simulates a page with several large, transformed and animated layers.
342 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { 342 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) {
343 begin_frame_driven_drawing_ = true; 343 begin_frame_driven_drawing_ = true;
344 measure_commit_cost_ = true; 344 measure_commit_cost_ = true;
345 SetTestName("heavy_page"); 345 SetTestName("heavy_page");
346 ReadTestFile("heavy_layer_tree"); 346 ReadTestFile("heavy_layer_tree");
347 RunTest(CompositorMode::Threaded, false); 347 RunTest(CompositorMode::THREADED, false);
348 } 348 }
349 349
350 } // namespace 350 } // namespace
351 } // namespace cc 351 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698