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

Side by Side Diff: cc/trees/layer_tree_host_perftest.cc

Issue 2251143002: cc: Reland Move data to LayerTree from LayerTreeHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: better fix? Created 4 years, 4 months 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 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 128
129 void ReadTestFile(const std::string& name) { 129 void ReadTestFile(const std::string& name) {
130 base::FilePath test_data_dir; 130 base::FilePath test_data_dir;
131 ASSERT_TRUE(PathService::Get(CCPaths::DIR_TEST_DATA, &test_data_dir)); 131 ASSERT_TRUE(PathService::Get(CCPaths::DIR_TEST_DATA, &test_data_dir));
132 base::FilePath json_file = test_data_dir.AppendASCII(name + ".json"); 132 base::FilePath json_file = test_data_dir.AppendASCII(name + ".json");
133 ASSERT_TRUE(base::ReadFileToString(json_file, &json_)); 133 ASSERT_TRUE(base::ReadFileToString(json_file, &json_));
134 } 134 }
135 135
136 void BuildTree() override { 136 void BuildTree() override {
137 gfx::Size viewport = gfx::Size(720, 1038); 137 gfx::Size viewport = gfx::Size(720, 1038);
138 layer_tree_host()->SetViewportSize(viewport); 138 layer_tree()->SetViewportSize(viewport);
139 scoped_refptr<Layer> root = ParseTreeFromJson(json_, 139 scoped_refptr<Layer> root = ParseTreeFromJson(json_,
140 &fake_content_layer_client_); 140 &fake_content_layer_client_);
141 ASSERT_TRUE(root.get()); 141 ASSERT_TRUE(root.get());
142 layer_tree_host()->SetRootLayer(root); 142 layer_tree()->SetRootLayer(root);
143 fake_content_layer_client_.set_bounds(viewport); 143 fake_content_layer_client_.set_bounds(viewport);
144 } 144 }
145 145
146 private: 146 private:
147 std::string json_; 147 std::string json_;
148 }; 148 };
149 149
150 // Simulates a tab switcher scene with two stacks of 10 tabs each. 150 // Simulates a tab switcher scene with two stacks of 10 tabs each.
151 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) { 151 TEST_F(LayerTreeHostPerfTestJsonReader, TenTenSingleThread) {
152 SetTestName("10_10_single_thread"); 152 SetTestName("10_10_single_thread");
(...skipping 24 matching lines...) Expand all
177 } 177 }
178 178
179 // Invalidates a leaf layer in the tree on the main thread after every commit. 179 // Invalidates a leaf layer in the tree on the main thread after every commit.
180 class LayerTreeHostPerfTestLeafInvalidates 180 class LayerTreeHostPerfTestLeafInvalidates
181 : public LayerTreeHostPerfTestJsonReader { 181 : public LayerTreeHostPerfTestJsonReader {
182 public: 182 public:
183 void BuildTree() override { 183 void BuildTree() override {
184 LayerTreeHostPerfTestJsonReader::BuildTree(); 184 LayerTreeHostPerfTestJsonReader::BuildTree();
185 185
186 // Find a leaf layer. 186 // Find a leaf layer.
187 for (layer_to_invalidate_ = layer_tree_host()->root_layer(); 187 for (layer_to_invalidate_ = layer_tree()->root_layer();
188 layer_to_invalidate_->children().size(); 188 layer_to_invalidate_->children().size();
189 layer_to_invalidate_ = layer_to_invalidate_->children()[0].get()) { 189 layer_to_invalidate_ = layer_to_invalidate_->children()[0].get()) {
190 } 190 }
191 } 191 }
192 192
193 void DidCommitAndDrawFrame() override { 193 void DidCommitAndDrawFrame() override {
194 if (TestEnded()) 194 if (TestEnded())
195 return; 195 return;
196 196
197 layer_to_invalidate_->SetOpacity( 197 layer_to_invalidate_->SetOpacity(
(...skipping 20 matching lines...) Expand all
218 218
219 // Simulates main-thread scrolling on each frame. 219 // Simulates main-thread scrolling on each frame.
220 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader { 220 class ScrollingLayerTreePerfTest : public LayerTreeHostPerfTestJsonReader {
221 public: 221 public:
222 ScrollingLayerTreePerfTest() 222 ScrollingLayerTreePerfTest()
223 : LayerTreeHostPerfTestJsonReader() { 223 : LayerTreeHostPerfTestJsonReader() {
224 } 224 }
225 225
226 void BuildTree() override { 226 void BuildTree() override {
227 LayerTreeHostPerfTestJsonReader::BuildTree(); 227 LayerTreeHostPerfTestJsonReader::BuildTree();
228 scrollable_ = layer_tree_host()->root_layer()->children()[1]; 228 scrollable_ = layer_tree()->root_layer()->children()[1];
229 ASSERT_TRUE(scrollable_.get()); 229 ASSERT_TRUE(scrollable_.get());
230 } 230 }
231 231
232 void UpdateLayerTreeHost() override { 232 void UpdateLayerTreeHost() override {
233 if (TestEnded()) 233 if (TestEnded())
234 return; 234 return;
235 static const gfx::Vector2d delta = gfx::Vector2d(0, 10); 235 static const gfx::Vector2d delta = gfx::Vector2d(0, 10);
236 scrollable_->SetScrollOffset( 236 scrollable_->SetScrollOffset(
237 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta)); 237 gfx::ScrollOffsetWithDelta(scrollable_->scroll_offset(), delta));
238 } 238 }
(...skipping 15 matching lines...) Expand all
254 } 254 }
255 255
256 // Simulates main-thread scrolling on each frame. 256 // Simulates main-thread scrolling on each frame.
257 class BrowserCompositorInvalidateLayerTreePerfTest 257 class BrowserCompositorInvalidateLayerTreePerfTest
258 : public LayerTreeHostPerfTestJsonReader { 258 : public LayerTreeHostPerfTestJsonReader {
259 public: 259 public:
260 BrowserCompositorInvalidateLayerTreePerfTest() = default; 260 BrowserCompositorInvalidateLayerTreePerfTest() = default;
261 261
262 void BuildTree() override { 262 void BuildTree() override {
263 LayerTreeHostPerfTestJsonReader::BuildTree(); 263 LayerTreeHostPerfTestJsonReader::BuildTree();
264 tab_contents_ = 264 tab_contents_ = static_cast<TextureLayer*>(layer_tree()
265 static_cast<TextureLayer*>( 265 ->root_layer()
266 layer_tree_host()->root_layer()->children()[0]-> 266 ->children()[0]
267 children()[0]-> 267 ->children()[0]
268 children()[0]-> 268 ->children()[0]
269 children()[0].get()); 269 ->children()[0]
270 .get());
270 ASSERT_TRUE(tab_contents_.get()); 271 ASSERT_TRUE(tab_contents_.get());
271 } 272 }
272 273
273 void WillCommit() override { 274 void WillCommit() override {
274 if (CleanUpStarted()) 275 if (CleanUpStarted())
275 return; 276 return;
276 gpu::Mailbox gpu_mailbox; 277 gpu::Mailbox gpu_mailbox;
277 std::ostringstream name_stream; 278 std::ostringstream name_stream;
278 name_stream << "name" << next_fence_sync_; 279 name_stream << "name" << next_fence_sync_;
279 gpu_mailbox.SetName( 280 gpu_mailbox.SetName(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) { 345 TEST_F(LayerTreeHostPerfTestJsonReader, HeavyPageThreaded) {
345 begin_frame_driven_drawing_ = true; 346 begin_frame_driven_drawing_ = true;
346 measure_commit_cost_ = true; 347 measure_commit_cost_ = true;
347 SetTestName("heavy_page"); 348 SetTestName("heavy_page");
348 ReadTestFile("heavy_layer_tree"); 349 ReadTestFile("heavy_layer_tree");
349 RunTest(CompositorMode::THREADED); 350 RunTest(CompositorMode::THREADED);
350 } 351 }
351 352
352 } // namespace 353 } // namespace
353 } // namespace cc 354 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698