| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/debug/lap_timer.h" | 7 #include "cc/debug/lap_timer.h" |
| 8 #include "cc/resources/tiling_set_raster_queue_all.h" | 8 #include "cc/resources/tiling_set_raster_queue_all.h" |
| 9 #include "cc/test/fake_impl_proxy.h" | 9 #include "cc/test/fake_impl_proxy.h" |
| 10 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 pending_tree->SetRootLayer(pending_layer.Pass()); | 65 pending_tree->SetRootLayer(pending_layer.Pass()); |
| 66 | 66 |
| 67 pending_layer_ = static_cast<FakePictureLayerImpl*>( | 67 pending_layer_ = static_cast<FakePictureLayerImpl*>( |
| 68 host_impl_.pending_tree()->LayerById(7)); | 68 host_impl_.pending_tree()->LayerById(7)); |
| 69 } | 69 } |
| 70 | 70 |
| 71 void RunRasterQueueConstructAndIterateTest(const std::string& test_name, | 71 void RunRasterQueueConstructAndIterateTest(const std::string& test_name, |
| 72 int num_tiles, | 72 int num_tiles, |
| 73 const gfx::Size& viewport_size) { | 73 const gfx::Size& viewport_size) { |
| 74 host_impl_.SetViewportSize(viewport_size); | 74 host_impl_.SetViewportSize(viewport_size); |
| 75 bool update_lcd_text = false; | 75 host_impl_.pending_tree()->UpdateDrawProperties(); |
| 76 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
| 77 | 76 |
| 78 timer_.Reset(); | 77 timer_.Reset(); |
| 79 do { | 78 do { |
| 80 int count = num_tiles; | 79 int count = num_tiles; |
| 81 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 80 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
| 82 pending_layer_->picture_layer_tiling_set(), false)); | 81 pending_layer_->picture_layer_tiling_set(), false)); |
| 83 while (count--) { | 82 while (count--) { |
| 84 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; | 83 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; |
| 85 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; | 84 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; |
| 86 queue->Pop(); | 85 queue->Pop(); |
| 87 } | 86 } |
| 88 timer_.NextLap(); | 87 timer_.NextLap(); |
| 89 } while (!timer_.HasTimeLimitExpired()); | 88 } while (!timer_.HasTimeLimitExpired()); |
| 90 | 89 |
| 91 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", | 90 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", |
| 92 test_name, timer_.LapsPerSecond(), "runs/s", true); | 91 test_name, timer_.LapsPerSecond(), "runs/s", true); |
| 93 } | 92 } |
| 94 | 93 |
| 95 void RunRasterQueueConstructTest(const std::string& test_name, | 94 void RunRasterQueueConstructTest(const std::string& test_name, |
| 96 const gfx::Rect& viewport) { | 95 const gfx::Rect& viewport) { |
| 97 host_impl_.SetViewportSize(viewport.size()); | 96 host_impl_.SetViewportSize(viewport.size()); |
| 98 pending_layer_->PushScrollOffsetFromMainThread( | 97 pending_layer_->PushScrollOffsetFromMainThread( |
| 99 gfx::ScrollOffset(viewport.x(), viewport.y())); | 98 gfx::ScrollOffset(viewport.x(), viewport.y())); |
| 100 bool update_lcd_text = false; | 99 host_impl_.pending_tree()->UpdateDrawProperties(); |
| 101 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
| 102 | 100 |
| 103 timer_.Reset(); | 101 timer_.Reset(); |
| 104 do { | 102 do { |
| 105 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 103 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
| 106 pending_layer_->picture_layer_tiling_set(), false)); | 104 pending_layer_->picture_layer_tiling_set(), false)); |
| 107 timer_.NextLap(); | 105 timer_.NextLap(); |
| 108 } while (!timer_.HasTimeLimitExpired()); | 106 } while (!timer_.HasTimeLimitExpired()); |
| 109 | 107 |
| 110 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, | 108 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, |
| 111 timer_.LapsPerSecond(), "runs/s", true); | 109 timer_.LapsPerSecond(), "runs/s", true); |
| 112 } | 110 } |
| 113 | 111 |
| 114 void RunEvictionQueueConstructAndIterateTest( | 112 void RunEvictionQueueConstructAndIterateTest( |
| 115 const std::string& test_name, | 113 const std::string& test_name, |
| 116 int num_tiles, | 114 int num_tiles, |
| 117 const gfx::Size& viewport_size) { | 115 const gfx::Size& viewport_size) { |
| 118 host_impl_.SetViewportSize(viewport_size); | 116 host_impl_.SetViewportSize(viewport_size); |
| 119 bool update_lcd_text = false; | 117 host_impl_.pending_tree()->UpdateDrawProperties(); |
| 120 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
| 121 | 118 |
| 122 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 119 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
| 123 SMOOTHNESS_TAKES_PRIORITY, | 120 SMOOTHNESS_TAKES_PRIORITY, |
| 124 NEW_CONTENT_TAKES_PRIORITY}; | 121 NEW_CONTENT_TAKES_PRIORITY}; |
| 125 int priority_count = 0; | 122 int priority_count = 0; |
| 126 timer_.Reset(); | 123 timer_.Reset(); |
| 127 do { | 124 do { |
| 128 int count = num_tiles; | 125 int count = num_tiles; |
| 129 scoped_ptr<TilingSetEvictionQueue> queue( | 126 scoped_ptr<TilingSetEvictionQueue> queue( |
| 130 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 127 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 141 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", | 138 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", |
| 142 "", test_name, timer_.LapsPerSecond(), "runs/s", | 139 "", test_name, timer_.LapsPerSecond(), "runs/s", |
| 143 true); | 140 true); |
| 144 } | 141 } |
| 145 | 142 |
| 146 void RunEvictionQueueConstructTest(const std::string& test_name, | 143 void RunEvictionQueueConstructTest(const std::string& test_name, |
| 147 const gfx::Rect& viewport) { | 144 const gfx::Rect& viewport) { |
| 148 host_impl_.SetViewportSize(viewport.size()); | 145 host_impl_.SetViewportSize(viewport.size()); |
| 149 pending_layer_->PushScrollOffsetFromMainThread( | 146 pending_layer_->PushScrollOffsetFromMainThread( |
| 150 gfx::ScrollOffset(viewport.x(), viewport.y())); | 147 gfx::ScrollOffset(viewport.x(), viewport.y())); |
| 151 bool update_lcd_text = false; | 148 host_impl_.pending_tree()->UpdateDrawProperties(); |
| 152 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
| 153 | 149 |
| 154 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 150 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
| 155 SMOOTHNESS_TAKES_PRIORITY, | 151 SMOOTHNESS_TAKES_PRIORITY, |
| 156 NEW_CONTENT_TAKES_PRIORITY}; | 152 NEW_CONTENT_TAKES_PRIORITY}; |
| 157 int priority_count = 0; | 153 int priority_count = 0; |
| 158 timer_.Reset(); | 154 timer_.Reset(); |
| 159 do { | 155 do { |
| 160 scoped_ptr<TilingSetEvictionQueue> queue( | 156 scoped_ptr<TilingSetEvictionQueue> queue( |
| 161 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 157 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), |
| 162 priorities[priority_count], false)); | 158 priorities[priority_count], false)); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); | 248 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); |
| 253 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); | 249 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); |
| 254 | 250 |
| 255 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); | 251 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); |
| 256 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); | 252 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); |
| 257 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); | 253 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); |
| 258 } | 254 } |
| 259 | 255 |
| 260 } // namespace | 256 } // namespace |
| 261 } // namespace cc | 257 } // namespace cc |
| OLD | NEW |