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

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: Addressed vmpstr's comments. Created 4 years, 10 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/trees/layer_tree_host_common_perftest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('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 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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 private: 331 private:
332 scoped_refptr<TextureLayer> tab_contents_; 332 scoped_refptr<TextureLayer> tab_contents_;
333 uint64_t next_fence_sync_; 333 uint64_t next_fence_sync_;
334 bool clean_up_started_; 334 bool clean_up_started_;
335 }; 335 };
336 336
337 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) { 337 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) {
338 measure_commit_cost_ = true; 338 measure_commit_cost_ = true;
339 SetTestName("dense_layer_tree"); 339 SetTestName("dense_layer_tree");
340 ReadTestFile("dense_layer_tree"); 340 ReadTestFile("dense_layer_tree");
341 RunTest(CompositorMode::Threaded, false); 341 RunTest(CompositorMode::THREADED, false);
342 } 342 }
343 343
344 // Simulates a page with several large, transformed and animated layers. 344 // Simulates a page with several large, transformed and animated layers.
345 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { 345 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) {
346 begin_frame_driven_drawing_ = true; 346 begin_frame_driven_drawing_ = true;
347 measure_commit_cost_ = true; 347 measure_commit_cost_ = true;
348 SetTestName("heavy_page"); 348 SetTestName("heavy_page");
349 ReadTestFile("heavy_layer_tree"); 349 ReadTestFile("heavy_layer_tree");
350 RunTest(CompositorMode::Threaded, false); 350 RunTest(CompositorMode::THREADED, false);
351 } 351 }
352 352
353 } // namespace 353 } // namespace
354 } // namespace cc 354 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_perftest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698