| OLD | NEW |
| 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 "base/time/time.h" | 5 #include "base/time/time.h" |
| 6 #include "cc/debug/lap_timer.h" | 6 #include "cc/debug/lap_timer.h" |
| 7 #include "cc/resources/raster_buffer.h" | 7 #include "cc/resources/raster_buffer.h" |
| 8 #include "cc/resources/tile.h" | 8 #include "cc/resources/tile.h" |
| 9 #include "cc/resources/tile_priority.h" | 9 #include "cc/resources/tile_priority.h" |
| 10 #include "cc/test/begin_frame_args_test.h" | 10 #include "cc/test/begin_frame_args_test.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 state.memory_limit_policy = memory_limit_policy_; | 105 state.memory_limit_policy = memory_limit_policy_; |
| 106 state.tree_priority = tree_priority; | 106 state.tree_priority = tree_priority; |
| 107 | 107 |
| 108 global_state_ = state; | 108 global_state_ = state; |
| 109 host_impl_.resource_pool()->SetResourceUsageLimits( | 109 host_impl_.resource_pool()->SetResourceUsageLimits( |
| 110 state.soft_memory_limit_in_bytes, 0, state.num_resources_limit); | 110 state.soft_memory_limit_in_bytes, 0, state.num_resources_limit); |
| 111 host_impl_.tile_manager()->SetGlobalStateForTesting(state); | 111 host_impl_.tile_manager()->SetGlobalStateForTesting(state); |
| 112 } | 112 } |
| 113 | 113 |
| 114 virtual void SetUp() override { | 114 virtual void SetUp() override { |
| 115 picture_pile_ = FakePicturePileImpl::CreateInfiniteFilledPile(); | |
| 116 InitializeRenderer(); | 115 InitializeRenderer(); |
| 117 SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES); | 116 SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES); |
| 118 } | 117 } |
| 119 | 118 |
| 120 virtual void InitializeRenderer() { | 119 virtual void InitializeRenderer() { |
| 121 host_impl_.InitializeRenderer(FakeOutputSurface::Create3d().Pass()); | 120 host_impl_.InitializeRenderer(FakeOutputSurface::Create3d().Pass()); |
| 122 tile_manager()->SetRasterizerForTesting(g_fake_rasterizer.Pointer()); | 121 tile_manager()->SetRasterizerForTesting(g_fake_rasterizer.Pointer()); |
| 123 } | 122 } |
| 124 | 123 |
| 125 void SetupDefaultTrees(const gfx::Size& layer_bounds) { | 124 void SetupDefaultTrees(const gfx::Size& layer_bounds) { |
| 126 gfx::Size tile_size(100, 100); | |
| 127 | |
| 128 scoped_refptr<FakePicturePileImpl> pending_pile = | 125 scoped_refptr<FakePicturePileImpl> pending_pile = |
| 129 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 126 FakePicturePileImpl::CreateFilledPile(kDefaultTileSize, layer_bounds); |
| 130 scoped_refptr<FakePicturePileImpl> active_pile = | 127 scoped_refptr<FakePicturePileImpl> active_pile = |
| 131 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 128 FakePicturePileImpl::CreateFilledPile(kDefaultTileSize, layer_bounds); |
| 132 | 129 |
| 133 SetupTrees(pending_pile, active_pile); | 130 SetupTrees(pending_pile, active_pile); |
| 134 } | 131 } |
| 135 | 132 |
| 136 void ActivateTree() { | 133 void ActivateTree() { |
| 137 host_impl_.ActivateSyncTree(); | 134 host_impl_.ActivateSyncTree(); |
| 138 CHECK(!host_impl_.pending_tree()); | 135 CHECK(!host_impl_.pending_tree()); |
| 139 pending_root_layer_ = NULL; | 136 pending_root_layer_ = NULL; |
| 140 active_root_layer_ = static_cast<FakePictureLayerImpl*>( | 137 active_root_layer_ = static_cast<FakePictureLayerImpl*>( |
| 141 host_impl_.active_tree()->LayerById(id_)); | 138 host_impl_.active_tree()->LayerById(id_)); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 active_root_layer_->CreateDefaultTilingsAndTiles(); | 350 active_root_layer_->CreateDefaultTilingsAndTiles(); |
| 354 pending_root_layer_->CreateDefaultTilingsAndTiles(); | 351 pending_root_layer_->CreateDefaultTilingsAndTiles(); |
| 355 | 352 |
| 356 std::vector<LayerImpl*> layers; | 353 std::vector<LayerImpl*> layers; |
| 357 | 354 |
| 358 // Pending layer counts as one layer. | 355 // Pending layer counts as one layer. |
| 359 layers.push_back(pending_root_layer_); | 356 layers.push_back(pending_root_layer_); |
| 360 int next_id = id_ + 1; | 357 int next_id = id_ + 1; |
| 361 | 358 |
| 362 // Create the rest of the layers as children of the root layer. | 359 // Create the rest of the layers as children of the root layer. |
| 360 scoped_refptr<FakePicturePileImpl> pile = |
| 361 FakePicturePileImpl::CreateFilledPile(kDefaultTileSize, layer_bounds); |
| 363 while (static_cast<int>(layers.size()) < layer_count) { | 362 while (static_cast<int>(layers.size()) < layer_count) { |
| 364 scoped_ptr<FakePictureLayerImpl> layer = | 363 scoped_ptr<FakePictureLayerImpl> layer = |
| 365 FakePictureLayerImpl::CreateWithPile( | 364 FakePictureLayerImpl::CreateWithPile(host_impl_.pending_tree(), |
| 366 host_impl_.pending_tree(), next_id, picture_pile_); | 365 next_id, pile); |
| 367 layer->SetBounds(layer_bounds); | 366 layer->SetBounds(layer_bounds); |
| 368 layers.push_back(layer.get()); | 367 layers.push_back(layer.get()); |
| 369 pending_root_layer_->AddChild(layer.Pass()); | 368 pending_root_layer_->AddChild(layer.Pass()); |
| 370 | 369 |
| 371 FakePictureLayerImpl* fake_layer = | 370 FakePictureLayerImpl* fake_layer = |
| 372 static_cast<FakePictureLayerImpl*>(layers.back()); | 371 static_cast<FakePictureLayerImpl*>(layers.back()); |
| 373 | 372 |
| 374 fake_layer->SetDrawsContent(true); | 373 fake_layer->SetDrawsContent(true); |
| 375 fake_layer->DoPostCommitInitializationIfNeeded(); | 374 fake_layer->DoPostCommitInitializationIfNeeded(); |
| 376 fake_layer->CreateDefaultTilingsAndTiles(); | 375 fake_layer->CreateDefaultTilingsAndTiles(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 | 424 |
| 426 TestSharedBitmapManager shared_bitmap_manager_; | 425 TestSharedBitmapManager shared_bitmap_manager_; |
| 427 TileMemoryLimitPolicy memory_limit_policy_; | 426 TileMemoryLimitPolicy memory_limit_policy_; |
| 428 int max_tiles_; | 427 int max_tiles_; |
| 429 int id_; | 428 int id_; |
| 430 FakeImplProxy proxy_; | 429 FakeImplProxy proxy_; |
| 431 FakeLayerTreeHostImpl host_impl_; | 430 FakeLayerTreeHostImpl host_impl_; |
| 432 FakePictureLayerImpl* pending_root_layer_; | 431 FakePictureLayerImpl* pending_root_layer_; |
| 433 FakePictureLayerImpl* active_root_layer_; | 432 FakePictureLayerImpl* active_root_layer_; |
| 434 LapTimer timer_; | 433 LapTimer timer_; |
| 435 scoped_refptr<FakePicturePileImpl> picture_pile_; | |
| 436 LayerTreeSettings settings_; | 434 LayerTreeSettings settings_; |
| 435 |
| 436 static const gfx::Size kDefaultTileSize; |
| 437 }; | 437 }; |
| 438 | 438 |
| 439 const gfx::Size TileManagerPerfTest::kDefaultTileSize(100, 100); |
| 440 |
| 439 TEST_F(TileManagerPerfTest, ManageTiles) { | 441 TEST_F(TileManagerPerfTest, ManageTiles) { |
| 440 RunManageTilesTest("2_100", 2, 100); | 442 RunManageTilesTest("2_100", 2, 100); |
| 441 RunManageTilesTest("2_500", 2, 500); | 443 RunManageTilesTest("2_500", 2, 500); |
| 442 RunManageTilesTest("2_1000", 2, 1000); | 444 RunManageTilesTest("2_1000", 2, 1000); |
| 443 RunManageTilesTest("10_100", 10, 100); | 445 RunManageTilesTest("10_100", 10, 100); |
| 444 RunManageTilesTest("10_500", 10, 500); | 446 RunManageTilesTest("10_500", 10, 500); |
| 445 RunManageTilesTest("10_1000", 10, 1000); | 447 RunManageTilesTest("10_1000", 10, 1000); |
| 446 RunManageTilesTest("50_100", 100, 100); | 448 RunManageTilesTest("50_100", 100, 100); |
| 447 RunManageTilesTest("50_500", 100, 500); | 449 RunManageTilesTest("50_500", 100, 500); |
| 448 RunManageTilesTest("50_1000", 100, 1000); | 450 RunManageTilesTest("50_1000", 100, 1000); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 RunEvictionQueueConstructAndIterateTest("10_128", 10, 128); | 488 RunEvictionQueueConstructAndIterateTest("10_128", 10, 128); |
| 487 RunEvictionQueueConstructAndIterateTest("50_16", 50, 16); | 489 RunEvictionQueueConstructAndIterateTest("50_16", 50, 16); |
| 488 RunEvictionQueueConstructAndIterateTest("50_32", 50, 32); | 490 RunEvictionQueueConstructAndIterateTest("50_32", 50, 32); |
| 489 RunEvictionQueueConstructAndIterateTest("50_64", 50, 64); | 491 RunEvictionQueueConstructAndIterateTest("50_64", 50, 64); |
| 490 RunEvictionQueueConstructAndIterateTest("50_128", 50, 128); | 492 RunEvictionQueueConstructAndIterateTest("50_128", 50, 128); |
| 491 } | 493 } |
| 492 | 494 |
| 493 } // namespace | 495 } // namespace |
| 494 | 496 |
| 495 } // namespace cc | 497 } // namespace cc |
| OLD | NEW |