| OLD | NEW |
| 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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 ASSERT_TRUE(root.get()); | 149 ASSERT_TRUE(root.get()); |
| 150 layer_tree_host()->SetRootLayer(root); | 150 layer_tree_host()->SetRootLayer(root); |
| 151 fake_content_layer_client_.set_bounds(viewport); | 151 fake_content_layer_client_.set_bounds(viewport); |
| 152 } | 152 } |
| 153 | 153 |
| 154 private: | 154 private: |
| 155 std::string json_; | 155 std::string json_; |
| 156 }; | 156 }; |
| 157 | 157 |
| 158 // Simulates a tab switcher scene with two stacks of 10 tabs each. | 158 // Simulates a tab switcher scene with two stacks of 10 tabs each. |
| 159 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) { | 159 // Timed out on Android: http://crbug.com/723821 |
| 160 #if defined(OS_ANDROID) |
| 161 #define MAYBE_TenTenSingleThread DISABLED_TenTenSingleThread |
| 162 #else |
| 163 #define MAYBE_TenTenSingleThread TenTenSingleThread |
| 164 #endif |
| 165 TEST_F(LayerTreeHostPerfTestJsonReader, MAYBE_TenTenSingleThread) { |
| 160 SetTestName("10_10_single_thread"); | 166 SetTestName("10_10_single_thread"); |
| 161 ReadTestFile("10_10_layer_tree"); | 167 ReadTestFile("10_10_layer_tree"); |
| 162 RunTest(CompositorMode::SINGLE_THREADED); | 168 RunTest(CompositorMode::SINGLE_THREADED); |
| 163 } | 169 } |
| 164 | 170 |
| 165 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenThreaded) { | 171 // Timed out on Android: http://crbug.com/723821 |
| 172 #if defined(OS_ANDROID) |
| 173 #define MAYBE_TenTenThreaded DISABLED_TenTenThreaded |
| 174 #else |
| 175 #define MAYBE_TenTenThreaded TenTenThreaded |
| 176 #endif |
| 177 TEST_F(LayerTreeHostPerfTestJsonReader, MAYBE_TenTenThreaded) { |
| 166 SetTestName("10_10_threaded_impl_side"); | 178 SetTestName("10_10_threaded_impl_side"); |
| 167 ReadTestFile("10_10_layer_tree"); | 179 ReadTestFile("10_10_layer_tree"); |
| 168 RunTest(CompositorMode::THREADED); | 180 RunTest(CompositorMode::THREADED); |
| 169 } | 181 } |
| 170 | 182 |
| 171 // Simulates a tab switcher scene with two stacks of 10 tabs each. | 183 // Simulates a tab switcher scene with two stacks of 10 tabs each. |
| 172 TEST_F(LayerTreeHostPerfTestJsonReader, | 184 TEST_F(LayerTreeHostPerfTestJsonReader, |
| 173 TenTenSingleThread_FullDamageEachFrame) { | 185 TenTenSingleThread_FullDamageEachFrame) { |
| 174 full_damage_each_frame_ = true; | 186 full_damage_each_frame_ = true; |
| 175 SetTestName("10_10_single_thread_full_damage_each_frame"); | 187 SetTestName("10_10_single_thread_full_damage_each_frame"); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 }; | 223 }; |
| 212 | 224 |
| 213 // Simulates a tab switcher scene with two stacks of 10 tabs each. Invalidate a | 225 // Simulates a tab switcher scene with two stacks of 10 tabs each. Invalidate a |
| 214 // property on a leaf layer in the tree every commit. | 226 // property on a leaf layer in the tree every commit. |
| 215 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenSingleThread) { | 227 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenSingleThread) { |
| 216 SetTestName("10_10_single_thread_leaf_invalidates"); | 228 SetTestName("10_10_single_thread_leaf_invalidates"); |
| 217 ReadTestFile("10_10_layer_tree"); | 229 ReadTestFile("10_10_layer_tree"); |
| 218 RunTest(CompositorMode::SINGLE_THREADED); | 230 RunTest(CompositorMode::SINGLE_THREADED); |
| 219 } | 231 } |
| 220 | 232 |
| 221 TEST_F(LayerTreeHostPerfTestLeafInvalidates, TenTenThreaded) { | 233 // Timed out on Android: http://crbug.com/723821 |
| 234 TEST_F(LayerTreeHostPerfTestLeafInvalidates, MAYBE_TenTenThreaded) { |
| 222 SetTestName("10_10_threaded_impl_side_leaf_invalidates"); | 235 SetTestName("10_10_threaded_impl_side_leaf_invalidates"); |
| 223 ReadTestFile("10_10_layer_tree"); | 236 ReadTestFile("10_10_layer_tree"); |
| 224 RunTest(CompositorMode::THREADED); | 237 RunTest(CompositorMode::THREADED); |
| 225 } | 238 } |
| 226 | 239 |
| 227 // Simulates main-thread scrolling on each frame. | 240 // Simulates main-thread scrolling on each frame. |
| 228 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { | 241 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { |
| 229 public: | 242 public: |
| 230 ScrollingLayerTreePerfTest() | 243 ScrollingLayerTreePerfTest() |
| 231 : LayerTreeHostPerfTestJsonReader() { | 244 : LayerTreeHostPerfTestJsonReader() { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 242 return; | 255 return; |
| 243 static const gfx::Vector2d delta = gfx::Vector2d(0, 10); | 256 static const gfx::Vector2d delta = gfx::Vector2d(0, 10); |
| 244 scrollable_->SetScrollOffset( | 257 scrollable_->SetScrollOffset( |
| 245 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta)); | 258 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta)); |
| 246 } | 259 } |
| 247 | 260 |
| 248 private: | 261 private: |
| 249 scoped_refptr<Layer> scrollable_; | 262 scoped_refptr<Layer> scrollable_; |
| 250 }; | 263 }; |
| 251 | 264 |
| 252 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageSingleThread) { | 265 // Timed out on Android: http://crbug.com/723821 |
| 266 #if defined(OS_ANDROID) |
| 267 #define MAYBE_LongScrollablePageSingleThread \ |
| 268 DISABLED_LongScrollablePageSingleThread |
| 269 #else |
| 270 #define MAYBE_LongScrollablePageSingleThread LongScrollablePageSingleThread |
| 271 #endif |
| 272 TEST_F(ScrollingLayerTreePerfTest, MAYBE_LongScrollablePageSingleThread) { |
| 253 SetTestName("long_scrollable_page"); | 273 SetTestName("long_scrollable_page"); |
| 254 ReadTestFile("long_scrollable_page"); | 274 ReadTestFile("long_scrollable_page"); |
| 255 RunTest(CompositorMode::SINGLE_THREADED); | 275 RunTest(CompositorMode::SINGLE_THREADED); |
| 256 } | 276 } |
| 257 | 277 |
| 258 TEST_F(ScrollingLayerTreePerfTest, LongScrollablePageThreaded) { | 278 // Timed out on Android: http://crbug.com/723821 |
| 279 #if defined(OS_ANDROID) |
| 280 #define MAYBE_LongScrollablePageThreaded DISABLED_LongScrollablePageThreaded |
| 281 #else |
| 282 #define MAYBE_LongScrollablePageThreaded LongScrollablePageThreaded |
| 283 #endif |
| 284 TEST_F(ScrollingLayerTreePerfTest, MAYBE_LongScrollablePageThreaded) { |
| 259 SetTestName("long_scrollable_page_threaded_impl_side"); | 285 SetTestName("long_scrollable_page_threaded_impl_side"); |
| 260 ReadTestFile("long_scrollable_page"); | 286 ReadTestFile("long_scrollable_page"); |
| 261 RunTest(CompositorMode::THREADED); | 287 RunTest(CompositorMode::THREADED); |
| 262 } | 288 } |
| 263 | 289 |
| 264 // Simulates main-thread scrolling on each frame. | 290 // Simulates main-thread scrolling on each frame. |
| 265 class BrowserCompositorInvalidateLayerTreePerfTest | 291 class BrowserCompositorInvalidateLayerTreePerfTest |
| 266 : public LayerTreeHostPerfTestJsonReader { | 292 : public LayerTreeHostPerfTestJsonReader { |
| 267 public: | 293 public: |
| 268 BrowserCompositorInvalidateLayerTreePerfTest() = default; | 294 BrowserCompositorInvalidateLayerTreePerfTest() = default; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 }; | 369 }; |
| 344 | 370 |
| 345 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) { | 371 TEST_F(BrowserCompositorInvalidateLayerTreePerfTest, DenseBrowserUIThreaded) { |
| 346 measure_commit_cost_ = true; | 372 measure_commit_cost_ = true; |
| 347 SetTestName("dense_layer_tree"); | 373 SetTestName("dense_layer_tree"); |
| 348 ReadTestFile("dense_layer_tree"); | 374 ReadTestFile("dense_layer_tree"); |
| 349 RunTest(CompositorMode::THREADED); | 375 RunTest(CompositorMode::THREADED); |
| 350 } | 376 } |
| 351 | 377 |
| 352 // Simulates a page with several large, transformed and animated layers. | 378 // Simulates a page with several large, transformed and animated layers. |
| 353 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { | 379 // Timed out on Android: http://crbug.com/723821 |
| 380 #if defined(OS_ANDROID) |
| 381 #define MAYBE_HeavyPageThreaded DISABLED_HeavyPageThreaded |
| 382 #else |
| 383 #define MAYBE_HeavyPageThreaded HeavyPageThreaded |
| 384 #endif |
| 385 TEST_F(LayerTreeHostPerfTestJsonReader, MAYBE_HeavyPageThreaded) { |
| 354 begin_frame_driven_drawing_ = true; | 386 begin_frame_driven_drawing_ = true; |
| 355 measure_commit_cost_ = true; | 387 measure_commit_cost_ = true; |
| 356 SetTestName("heavy_page"); | 388 SetTestName("heavy_page"); |
| 357 ReadTestFile("heavy_layer_tree"); | 389 ReadTestFile("heavy_layer_tree"); |
| 358 RunTest(CompositorMode::THREADED); | 390 RunTest(CompositorMode::THREADED); |
| 359 } | 391 } |
| 360 | 392 |
| 361 } // namespace | 393 } // namespace |
| 362 } // namespace cc | 394 } // namespace cc |
| OLD | NEW |