| 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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 | 131 |
| 132 void ReadTestFile(const std::string& name) { | 132 void ReadTestFile(const std::string& name) { |
| 133 base::FilePath test_data_dir; | 133 base::FilePath test_data_dir; |
| 134 ASSERT_TRUE(PathService::Get(CCPaths::DIR_TEST_DATA, &test_data_dir)); | 134 ASSERT_TRUE(PathService::Get(CCPaths::DIR_TEST_DATA, &test_data_dir)); |
| 135 base::FilePath json_file = test_data_dir.AppendASCII(name + ".json"); | 135 base::FilePath json_file = test_data_dir.AppendASCII(name + ".json"); |
| 136 ASSERT_TRUE(base::ReadFileToString(json_file, &json_)); | 136 ASSERT_TRUE(base::ReadFileToString(json_file, &json_)); |
| 137 } | 137 } |
| 138 | 138 |
| 139 void BuildTree() override { | 139 void BuildTree() override { |
| 140 gfx::Size viewport = gfx::Size(720, 1038); | 140 gfx::Size viewport = gfx::Size(720, 1038); |
| 141 layer_tree()->SetViewportSize(viewport); | 141 layer_tree_host()->SetViewportSize(viewport); |
| 142 scoped_refptr<Layer> root = ParseTreeFromJson(json_, | 142 scoped_refptr<Layer> root = ParseTreeFromJson(json_, |
| 143 &fake_content_layer_client_); | 143 &fake_content_layer_client_); |
| 144 ASSERT_TRUE(root.get()); | 144 ASSERT_TRUE(root.get()); |
| 145 layer_tree()->SetRootLayer(root); | 145 layer_tree_host()->SetRootLayer(root); |
| 146 fake_content_layer_client_.set_bounds(viewport); | 146 fake_content_layer_client_.set_bounds(viewport); |
| 147 } | 147 } |
| 148 | 148 |
| 149 private: | 149 private: |
| 150 std::string json_; | 150 std::string json_; |
| 151 }; | 151 }; |
| 152 | 152 |
| 153 // Simulates a tab switcher scene with two stacks of 10 tabs each. | 153 // Simulates a tab switcher scene with two stacks of 10 tabs each. |
| 154 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) { | 154 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) { |
| 155 SetTestName("10_10_single_thread"); | 155 SetTestName("10_10_single_thread"); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 180 } | 180 } |
| 181 | 181 |
| 182 // Invalidates a leaf layer in the tree on the main thread after every commit. | 182 // Invalidates a leaf layer in the tree on the main thread after every commit. |
| 183 class LayerTreeHostPerfTestLeafInvalidates | 183 class LayerTreeHostPerfTestLeafInvalidates |
| 184 : public LayerTreeHostPerfTestJsonReader { | 184 : public LayerTreeHostPerfTestJsonReader { |
| 185 public: | 185 public: |
| 186 void BuildTree() override { | 186 void BuildTree() override { |
| 187 LayerTreeHostPerfTestJsonReader::BuildTree(); | 187 LayerTreeHostPerfTestJsonReader::BuildTree(); |
| 188 | 188 |
| 189 // Find a leaf layer. | 189 // Find a leaf layer. |
| 190 for (layer_to_invalidate_ = layer_tree()->root_layer(); | 190 for (layer_to_invalidate_ = layer_tree_host()->root_layer(); |
| 191 layer_to_invalidate_->children().size(); | 191 layer_to_invalidate_->children().size(); |
| 192 layer_to_invalidate_ = layer_to_invalidate_->children()[0].get()) { | 192 layer_to_invalidate_ = layer_to_invalidate_->children()[0].get()) { |
| 193 } | 193 } |
| 194 } | 194 } |
| 195 | 195 |
| 196 void DidCommitAndDrawFrame() override { | 196 void DidCommitAndDrawFrame() override { |
| 197 if (TestEnded()) | 197 if (TestEnded()) |
| 198 return; | 198 return; |
| 199 | 199 |
| 200 layer_to_invalidate_->SetOpacity( | 200 layer_to_invalidate_->SetOpacity( |
| (...skipping 20 matching lines...) Expand all Loading... |
| 221 | 221 |
| 222 // Simulates main-thread scrolling on each frame. | 222 // Simulates main-thread scrolling on each frame. |
| 223 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { | 223 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { |
| 224 public: | 224 public: |
| 225 ScrollingLayerTreePerfTest() | 225 ScrollingLayerTreePerfTest() |
| 226 : LayerTreeHostPerfTestJsonReader() { | 226 : LayerTreeHostPerfTestJsonReader() { |
| 227 } | 227 } |
| 228 | 228 |
| 229 void BuildTree() override { | 229 void BuildTree() override { |
| 230 LayerTreeHostPerfTestJsonReader::BuildTree(); | 230 LayerTreeHostPerfTestJsonReader::BuildTree(); |
| 231 scrollable_ = layer_tree()->root_layer()->children()[1]; | 231 scrollable_ = layer_tree_host()->root_layer()->children()[1]; |
| 232 ASSERT_TRUE(scrollable_.get()); | 232 ASSERT_TRUE(scrollable_.get()); |
| 233 } | 233 } |
| 234 | 234 |
| 235 void UpdateLayerTreeHost() override { | 235 void UpdateLayerTreeHost() override { |
| 236 if (TestEnded()) | 236 if (TestEnded()) |
| 237 return; | 237 return; |
| 238 static const gfx::Vector2d delta = gfx::Vector2d(0, 10); | 238 static const gfx::Vector2d delta = gfx::Vector2d(0, 10); |
| 239 scrollable_->SetScrollOffset( | 239 scrollable_->SetScrollOffset( |
| 240 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta)); | 240 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta)); |
| 241 } | 241 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 257 } | 257 } |
| 258 | 258 |
| 259 // Simulates main-thread scrolling on each frame. | 259 // Simulates main-thread scrolling on each frame. |
| 260 class BrowserCompositorInvalidateLayerTreePerfTest | 260 class BrowserCompositorInvalidateLayerTreePerfTest |
| 261 : public LayerTreeHostPerfTestJsonReader { | 261 : public LayerTreeHostPerfTestJsonReader { |
| 262 public: | 262 public: |
| 263 BrowserCompositorInvalidateLayerTreePerfTest() = default; | 263 BrowserCompositorInvalidateLayerTreePerfTest() = default; |
| 264 | 264 |
| 265 void BuildTree() override { | 265 void BuildTree() override { |
| 266 LayerTreeHostPerfTestJsonReader::BuildTree(); | 266 LayerTreeHostPerfTestJsonReader::BuildTree(); |
| 267 tab_contents_ = static_cast<TextureLayer*>(layer_tree() | 267 tab_contents_ = static_cast<TextureLayer*>(layer_tree_host() |
| 268 ->root_layer() | 268 ->root_layer() |
| 269 ->children()[0] | 269 ->children()[0] |
| 270 ->children()[0] | 270 ->children()[0] |
| 271 ->children()[0] | 271 ->children()[0] |
| 272 ->children()[0] | 272 ->children()[0] |
| 273 .get()); | 273 .get()); |
| 274 ASSERT_TRUE(tab_contents_.get()); | 274 ASSERT_TRUE(tab_contents_.get()); |
| 275 } | 275 } |
| 276 | 276 |
| 277 void WillCommit() override { | 277 void WillCommit() override { |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { | 348 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { |
| 349 begin_frame_driven_drawing_ = true; | 349 begin_frame_driven_drawing_ = true; |
| 350 measure_commit_cost_ = true; | 350 measure_commit_cost_ = true; |
| 351 SetTestName("heavy_page"); | 351 SetTestName("heavy_page"); |
| 352 ReadTestFile("heavy_layer_tree"); | 352 ReadTestFile("heavy_layer_tree"); |
| 353 RunTest(CompositorMode::THREADED); | 353 RunTest(CompositorMode::THREADED); |
| 354 } | 354 } |
| 355 | 355 |
| 356 } // namespace | 356 } // namespace |
| 357 } // namespace cc | 357 } // namespace cc |
| OLD | NEW |