| 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 bool first_update_after_commit = false; |
| 76 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | 76 host_impl_.pending_tree()->UpdateDrawProperties(first_update_after_commit); |
| 77 | 77 |
| 78 timer_.Reset(); | 78 timer_.Reset(); |
| 79 do { | 79 do { |
| 80 int count = num_tiles; | 80 int count = num_tiles; |
| 81 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 81 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
| 82 pending_layer_->picture_layer_tiling_set(), false)); | 82 pending_layer_->picture_layer_tiling_set(), false)); |
| 83 while (count--) { | 83 while (count--) { |
| 84 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; | 84 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; |
| 85 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; | 85 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; |
| 86 queue->Pop(); | 86 queue->Pop(); |
| 87 } | 87 } |
| 88 timer_.NextLap(); | 88 timer_.NextLap(); |
| 89 } while (!timer_.HasTimeLimitExpired()); | 89 } while (!timer_.HasTimeLimitExpired()); |
| 90 | 90 |
| 91 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", | 91 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", |
| 92 test_name, timer_.LapsPerSecond(), "runs/s", true); | 92 test_name, timer_.LapsPerSecond(), "runs/s", true); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void RunRasterQueueConstructTest(const std::string& test_name, | 95 void RunRasterQueueConstructTest(const std::string& test_name, |
| 96 const gfx::Rect& viewport) { | 96 const gfx::Rect& viewport) { |
| 97 host_impl_.SetViewportSize(viewport.size()); | 97 host_impl_.SetViewportSize(viewport.size()); |
| 98 pending_layer_->PushScrollOffsetFromMainThread( | 98 pending_layer_->PushScrollOffsetFromMainThread( |
| 99 gfx::ScrollOffset(viewport.x(), viewport.y())); | 99 gfx::ScrollOffset(viewport.x(), viewport.y())); |
| 100 bool update_lcd_text = false; | 100 bool first_update_after_commit = false; |
| 101 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | 101 host_impl_.pending_tree()->UpdateDrawProperties(first_update_after_commit); |
| 102 | 102 |
| 103 timer_.Reset(); | 103 timer_.Reset(); |
| 104 do { | 104 do { |
| 105 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 105 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
| 106 pending_layer_->picture_layer_tiling_set(), false)); | 106 pending_layer_->picture_layer_tiling_set(), false)); |
| 107 timer_.NextLap(); | 107 timer_.NextLap(); |
| 108 } while (!timer_.HasTimeLimitExpired()); | 108 } while (!timer_.HasTimeLimitExpired()); |
| 109 | 109 |
| 110 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, | 110 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, |
| 111 timer_.LapsPerSecond(), "runs/s", true); | 111 timer_.LapsPerSecond(), "runs/s", true); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void RunEvictionQueueConstructAndIterateTest( | 114 void RunEvictionQueueConstructAndIterateTest( |
| 115 const std::string& test_name, | 115 const std::string& test_name, |
| 116 int num_tiles, | 116 int num_tiles, |
| 117 const gfx::Size& viewport_size) { | 117 const gfx::Size& viewport_size) { |
| 118 host_impl_.SetViewportSize(viewport_size); | 118 host_impl_.SetViewportSize(viewport_size); |
| 119 bool update_lcd_text = false; | 119 bool first_update_after_commit = false; |
| 120 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | 120 host_impl_.pending_tree()->UpdateDrawProperties(first_update_after_commit); |
| 121 | 121 |
| 122 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 122 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
| 123 SMOOTHNESS_TAKES_PRIORITY, | 123 SMOOTHNESS_TAKES_PRIORITY, |
| 124 NEW_CONTENT_TAKES_PRIORITY}; | 124 NEW_CONTENT_TAKES_PRIORITY}; |
| 125 int priority_count = 0; | 125 int priority_count = 0; |
| 126 timer_.Reset(); | 126 timer_.Reset(); |
| 127 do { | 127 do { |
| 128 int count = num_tiles; | 128 int count = num_tiles; |
| 129 scoped_ptr<TilingSetEvictionQueue> queue( | 129 scoped_ptr<TilingSetEvictionQueue> queue( |
| 130 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 130 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", | 141 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", |
| 142 "", test_name, timer_.LapsPerSecond(), "runs/s", | 142 "", test_name, timer_.LapsPerSecond(), "runs/s", |
| 143 true); | 143 true); |
| 144 } | 144 } |
| 145 | 145 |
| 146 void RunEvictionQueueConstructTest(const std::string& test_name, | 146 void RunEvictionQueueConstructTest(const std::string& test_name, |
| 147 const gfx::Rect& viewport) { | 147 const gfx::Rect& viewport) { |
| 148 host_impl_.SetViewportSize(viewport.size()); | 148 host_impl_.SetViewportSize(viewport.size()); |
| 149 pending_layer_->PushScrollOffsetFromMainThread( | 149 pending_layer_->PushScrollOffsetFromMainThread( |
| 150 gfx::ScrollOffset(viewport.x(), viewport.y())); | 150 gfx::ScrollOffset(viewport.x(), viewport.y())); |
| 151 bool update_lcd_text = false; | 151 bool first_update_after_commit = false; |
| 152 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | 152 host_impl_.pending_tree()->UpdateDrawProperties(first_update_after_commit); |
| 153 | 153 |
| 154 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 154 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
| 155 SMOOTHNESS_TAKES_PRIORITY, | 155 SMOOTHNESS_TAKES_PRIORITY, |
| 156 NEW_CONTENT_TAKES_PRIORITY}; | 156 NEW_CONTENT_TAKES_PRIORITY}; |
| 157 int priority_count = 0; | 157 int priority_count = 0; |
| 158 timer_.Reset(); | 158 timer_.Reset(); |
| 159 do { | 159 do { |
| 160 scoped_ptr<TilingSetEvictionQueue> queue( | 160 scoped_ptr<TilingSetEvictionQueue> queue( |
| 161 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 161 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), |
| 162 priorities[priority_count], false)); | 162 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); | 252 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); |
| 253 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); | 253 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); |
| 254 | 254 |
| 255 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); | 255 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); |
| 256 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); | 256 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); |
| 257 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); | 257 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); |
| 258 } | 258 } |
| 259 | 259 |
| 260 } // namespace | 260 } // namespace |
| 261 } // namespace cc | 261 } // namespace cc |
| OLD | NEW |