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

Side by Side Diff: cc/resources/tile_manager_perftest.cc

Issue 643993005: Remove limit on number of resources in cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 6 years, 1 month 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 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 private: 78 private:
79 RasterTask::Vector completed_tasks_; 79 RasterTask::Vector completed_tasks_;
80 }; 80 };
81 base::LazyInstance<FakeRasterizerImpl> g_fake_rasterizer = 81 base::LazyInstance<FakeRasterizerImpl> g_fake_rasterizer =
82 LAZY_INSTANCE_INITIALIZER; 82 LAZY_INSTANCE_INITIALIZER;
83 83
84 class TileManagerPerfTest : public testing::Test { 84 class TileManagerPerfTest : public testing::Test {
85 public: 85 public:
86 TileManagerPerfTest() 86 TileManagerPerfTest()
87 : memory_limit_policy_(ALLOW_ANYTHING), 87 : memory_limit_policy_(ALLOW_ANYTHING),
88 max_tiles_(10000),
89 id_(7), 88 id_(7),
90 proxy_(base::MessageLoopProxy::current()), 89 proxy_(base::MessageLoopProxy::current()),
91 host_impl_(ImplSidePaintingSettings(10000), 90 host_impl_(ImplSidePaintingSettings(10000),
92 &proxy_, 91 &proxy_,
93 &shared_bitmap_manager_), 92 &shared_bitmap_manager_),
94 timer_(kWarmupRuns, 93 timer_(kWarmupRuns,
95 base::TimeDelta::FromMilliseconds(kTimeLimitMillis), 94 base::TimeDelta::FromMilliseconds(kTimeLimitMillis),
96 kTimeCheckInterval) {} 95 kTimeCheckInterval) {}
97 96
98 void SetTreePriority(TreePriority tree_priority) { 97 void SetTreePriority(TreePriority tree_priority) {
99 GlobalStateThatImpactsTilePriority state; 98 GlobalStateThatImpactsTilePriority state;
100 gfx::Size tile_size(256, 256); 99 gfx::Size tile_size(256, 256);
101 100
102 state.soft_memory_limit_in_bytes = 100 * 1000 * 1000; 101 state.soft_memory_limit_in_bytes = 100 * 1000 * 1000;
103 state.num_resources_limit = max_tiles_;
104 state.hard_memory_limit_in_bytes = state.soft_memory_limit_in_bytes * 2; 102 state.hard_memory_limit_in_bytes = state.soft_memory_limit_in_bytes * 2;
105 state.memory_limit_policy = memory_limit_policy_; 103 state.memory_limit_policy = memory_limit_policy_;
106 state.tree_priority = tree_priority; 104 state.tree_priority = tree_priority;
107 105
108 global_state_ = state; 106 global_state_ = state;
109 host_impl_.resource_pool()->SetResourceUsageLimits( 107 host_impl_.resource_pool()->SetResourceUsageLimits(
110 state.soft_memory_limit_in_bytes, 0, state.num_resources_limit); 108 state.soft_memory_limit_in_bytes, 0);
111 host_impl_.tile_manager()->SetGlobalStateForTesting(state); 109 host_impl_.tile_manager()->SetGlobalStateForTesting(state);
112 } 110 }
113 111
114 virtual void SetUp() override { 112 virtual void SetUp() override {
115 picture_pile_ = FakePicturePileImpl::CreateInfiniteFilledPile(); 113 picture_pile_ = FakePicturePileImpl::CreateInfiniteFilledPile();
116 InitializeRenderer(); 114 InitializeRenderer();
117 SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES); 115 SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES);
118 } 116 }
119 117
120 virtual void InitializeRenderer() { 118 virtual void InitializeRenderer() {
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 return layers; 378 return layers;
381 } 379 }
382 380
383 GlobalStateThatImpactsTilePriority GlobalStateForTest() { 381 GlobalStateThatImpactsTilePriority GlobalStateForTest() {
384 GlobalStateThatImpactsTilePriority state; 382 GlobalStateThatImpactsTilePriority state;
385 gfx::Size tile_size = settings_.default_tile_size; 383 gfx::Size tile_size = settings_.default_tile_size;
386 state.soft_memory_limit_in_bytes = 384 state.soft_memory_limit_in_bytes =
387 10000u * 4u * 385 10000u * 4u *
388 static_cast<size_t>(tile_size.width() * tile_size.height()); 386 static_cast<size_t>(tile_size.width() * tile_size.height());
389 state.hard_memory_limit_in_bytes = state.soft_memory_limit_in_bytes; 387 state.hard_memory_limit_in_bytes = state.soft_memory_limit_in_bytes;
390 state.num_resources_limit = 10000;
391 state.memory_limit_policy = ALLOW_ANYTHING; 388 state.memory_limit_policy = ALLOW_ANYTHING;
392 state.tree_priority = SMOOTHNESS_TAKES_PRIORITY; 389 state.tree_priority = SMOOTHNESS_TAKES_PRIORITY;
393 return state; 390 return state;
394 } 391 }
395 392
396 void RunManageTilesTest(const std::string& test_name, 393 void RunManageTilesTest(const std::string& test_name,
397 int layer_count, 394 int layer_count,
398 int approximate_tile_count_per_layer) { 395 int approximate_tile_count_per_layer) {
399 std::vector<LayerImpl*> layers = 396 std::vector<LayerImpl*> layers =
400 CreateLayers(layer_count, approximate_tile_count_per_layer); 397 CreateLayers(layer_count, approximate_tile_count_per_layer);
(...skipping 17 matching lines...) Expand all
418 "manage_tiles", "", test_name, timer_.LapsPerSecond(), "runs/s", true); 415 "manage_tiles", "", test_name, timer_.LapsPerSecond(), "runs/s", true);
419 } 416 }
420 417
421 TileManager* tile_manager() { return host_impl_.tile_manager(); } 418 TileManager* tile_manager() { return host_impl_.tile_manager(); }
422 419
423 protected: 420 protected:
424 GlobalStateThatImpactsTilePriority global_state_; 421 GlobalStateThatImpactsTilePriority global_state_;
425 422
426 TestSharedBitmapManager shared_bitmap_manager_; 423 TestSharedBitmapManager shared_bitmap_manager_;
427 TileMemoryLimitPolicy memory_limit_policy_; 424 TileMemoryLimitPolicy memory_limit_policy_;
428 int max_tiles_;
429 int id_; 425 int id_;
430 FakeImplProxy proxy_; 426 FakeImplProxy proxy_;
431 FakeLayerTreeHostImpl host_impl_; 427 FakeLayerTreeHostImpl host_impl_;
432 FakePictureLayerImpl* pending_root_layer_; 428 FakePictureLayerImpl* pending_root_layer_;
433 FakePictureLayerImpl* active_root_layer_; 429 FakePictureLayerImpl* active_root_layer_;
434 LapTimer timer_; 430 LapTimer timer_;
435 scoped_refptr<FakePicturePileImpl> picture_pile_; 431 scoped_refptr<FakePicturePileImpl> picture_pile_;
436 LayerTreeSettings settings_; 432 LayerTreeSettings settings_;
437 }; 433 };
438 434
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 RunEvictionQueueConstructAndIterateTest("10_128", 10, 128); 482 RunEvictionQueueConstructAndIterateTest("10_128", 10, 128);
487 RunEvictionQueueConstructAndIterateTest("50_16", 50, 16); 483 RunEvictionQueueConstructAndIterateTest("50_16", 50, 16);
488 RunEvictionQueueConstructAndIterateTest("50_32", 50, 32); 484 RunEvictionQueueConstructAndIterateTest("50_32", 50, 32);
489 RunEvictionQueueConstructAndIterateTest("50_64", 50, 64); 485 RunEvictionQueueConstructAndIterateTest("50_64", 50, 64);
490 RunEvictionQueueConstructAndIterateTest("50_128", 50, 128); 486 RunEvictionQueueConstructAndIterateTest("50_128", 50, 128);
491 } 487 }
492 488
493 } // namespace 489 } // namespace
494 490
495 } // namespace cc 491 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698