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/trees/occlusion_tracker.h" | 5 #include "cc/trees/occlusion_tracker.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/thread_task_runner_handle.h" | 9 #include "base/thread_task_runner_handle.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 kTimeCheckInterval), | 39 kTimeCheckInterval), |
40 output_surface_(FakeOutputSurface::Create3d()) {} | 40 output_surface_(FakeOutputSurface::Create3d()) {} |
41 void CreateHost() { | 41 void CreateHost() { |
42 LayerTreeSettings settings; | 42 LayerTreeSettings settings; |
43 host_impl_ = LayerTreeHostImpl::Create( | 43 host_impl_ = LayerTreeHostImpl::Create( |
44 settings, &client_, &impl_task_runner_provider_, &stats_, | 44 settings, &client_, &impl_task_runner_provider_, &stats_, |
45 &shared_bitmap_manager_, nullptr, &task_graph_runner_, 1); | 45 &shared_bitmap_manager_, nullptr, &task_graph_runner_, 1); |
46 host_impl_->SetVisible(true); | 46 host_impl_->SetVisible(true); |
47 host_impl_->InitializeRenderer(output_surface_.get()); | 47 host_impl_->InitializeRenderer(output_surface_.get()); |
48 | 48 |
49 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create(active_tree(), 1); | 49 std::unique_ptr<LayerImpl> root_layer = LayerImpl::Create(active_tree(), 1); |
50 root_layer->SetForceRenderSurface(true); | 50 root_layer->SetForceRenderSurface(true); |
51 active_tree()->SetRootLayer(std::move(root_layer)); | 51 active_tree()->SetRootLayer(std::move(root_layer)); |
52 } | 52 } |
53 | 53 |
54 LayerTreeImpl* active_tree() { return host_impl_->active_tree(); } | 54 LayerTreeImpl* active_tree() { return host_impl_->active_tree(); } |
55 | 55 |
56 void SetTestName(const std::string& name) { test_name_ = name; } | 56 void SetTestName(const std::string& name) { test_name_ = name; } |
57 | 57 |
58 void PrintResults() { | 58 void PrintResults() { |
59 CHECK(!test_name_.empty()) << "Must SetTestName() before AfterTest()."; | 59 CHECK(!test_name_.empty()) << "Must SetTestName() before AfterTest()."; |
60 perf_test::PrintResult("occlusion_tracker_time", | 60 perf_test::PrintResult("occlusion_tracker_time", |
61 "", | 61 "", |
62 test_name_, | 62 test_name_, |
63 1000 * timer_.MsPerLap(), | 63 1000 * timer_.MsPerLap(), |
64 "us", | 64 "us", |
65 true); | 65 true); |
66 } | 66 } |
67 | 67 |
68 protected: | 68 protected: |
69 LapTimer timer_; | 69 LapTimer timer_; |
70 std::string test_name_; | 70 std::string test_name_; |
71 FakeLayerTreeHostImplClient client_; | 71 FakeLayerTreeHostImplClient client_; |
72 FakeImplTaskRunnerProvider impl_task_runner_provider_; | 72 FakeImplTaskRunnerProvider impl_task_runner_provider_; |
73 FakeRenderingStatsInstrumentation stats_; | 73 FakeRenderingStatsInstrumentation stats_; |
74 TestSharedBitmapManager shared_bitmap_manager_; | 74 TestSharedBitmapManager shared_bitmap_manager_; |
75 TestTaskGraphRunner task_graph_runner_; | 75 TestTaskGraphRunner task_graph_runner_; |
76 scoped_ptr<OutputSurface> output_surface_; | 76 std::unique_ptr<OutputSurface> output_surface_; |
77 scoped_ptr<LayerTreeHostImpl> host_impl_; | 77 std::unique_ptr<LayerTreeHostImpl> host_impl_; |
78 }; | 78 }; |
79 | 79 |
80 TEST_F(OcclusionTrackerPerfTest, UnoccludedContentRect_FullyOccluded) { | 80 TEST_F(OcclusionTrackerPerfTest, UnoccludedContentRect_FullyOccluded) { |
81 SetTestName("unoccluded_content_rect_fully_occluded"); | 81 SetTestName("unoccluded_content_rect_fully_occluded"); |
82 | 82 |
83 gfx::Rect viewport_rect(768, 1038); | 83 gfx::Rect viewport_rect(768, 1038); |
84 OcclusionTracker tracker(viewport_rect); | 84 OcclusionTracker tracker(viewport_rect); |
85 | 85 |
86 CreateHost(); | 86 CreateHost(); |
87 host_impl_->SetViewportSize(viewport_rect.size()); | 87 host_impl_->SetViewportSize(viewport_rect.size()); |
88 | 88 |
89 scoped_ptr<SolidColorLayerImpl> opaque_layer = | 89 std::unique_ptr<SolidColorLayerImpl> opaque_layer = |
90 SolidColorLayerImpl::Create(active_tree(), 2); | 90 SolidColorLayerImpl::Create(active_tree(), 2); |
91 opaque_layer->SetBackgroundColor(SK_ColorRED); | 91 opaque_layer->SetBackgroundColor(SK_ColorRED); |
92 opaque_layer->SetContentsOpaque(true); | 92 opaque_layer->SetContentsOpaque(true); |
93 opaque_layer->SetDrawsContent(true); | 93 opaque_layer->SetDrawsContent(true); |
94 opaque_layer->SetBounds(viewport_rect.size()); | 94 opaque_layer->SetBounds(viewport_rect.size()); |
95 active_tree()->root_layer()->AddChild(std::move(opaque_layer)); | 95 active_tree()->root_layer()->AddChild(std::move(opaque_layer)); |
96 active_tree()->BuildPropertyTreesForTesting(); | 96 active_tree()->BuildPropertyTreesForTesting(); |
97 | 97 |
98 bool update_lcd_text = false; | 98 bool update_lcd_text = false; |
99 active_tree()->UpdateDrawProperties(update_lcd_text); | 99 active_tree()->UpdateDrawProperties(update_lcd_text); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 static const int kNumOpaqueLayers = 10; | 147 static const int kNumOpaqueLayers = 10; |
148 SetTestName("unoccluded_content_rect_10_opaque_layers"); | 148 SetTestName("unoccluded_content_rect_10_opaque_layers"); |
149 | 149 |
150 gfx::Rect viewport_rect(768, 1038); | 150 gfx::Rect viewport_rect(768, 1038); |
151 OcclusionTracker tracker(viewport_rect); | 151 OcclusionTracker tracker(viewport_rect); |
152 | 152 |
153 CreateHost(); | 153 CreateHost(); |
154 host_impl_->SetViewportSize(viewport_rect.size()); | 154 host_impl_->SetViewportSize(viewport_rect.size()); |
155 | 155 |
156 for (int i = 0; i < kNumOpaqueLayers; ++i) { | 156 for (int i = 0; i < kNumOpaqueLayers; ++i) { |
157 scoped_ptr<SolidColorLayerImpl> opaque_layer = | 157 std::unique_ptr<SolidColorLayerImpl> opaque_layer = |
158 SolidColorLayerImpl::Create(active_tree(), 2 + i); | 158 SolidColorLayerImpl::Create(active_tree(), 2 + i); |
159 opaque_layer->SetBackgroundColor(SK_ColorRED); | 159 opaque_layer->SetBackgroundColor(SK_ColorRED); |
160 opaque_layer->SetContentsOpaque(true); | 160 opaque_layer->SetContentsOpaque(true); |
161 opaque_layer->SetDrawsContent(true); | 161 opaque_layer->SetDrawsContent(true); |
162 opaque_layer->SetBounds( | 162 opaque_layer->SetBounds( |
163 gfx::Size(viewport_rect.width() / 2, viewport_rect.height() / 2)); | 163 gfx::Size(viewport_rect.width() / 2, viewport_rect.height() / 2)); |
164 opaque_layer->SetPosition(gfx::PointF(i, i)); | 164 opaque_layer->SetPosition(gfx::PointF(i, i)); |
165 active_tree()->root_layer()->AddChild(std::move(opaque_layer)); | 165 active_tree()->root_layer()->AddChild(std::move(opaque_layer)); |
166 } | 166 } |
167 | 167 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 EXPECT_EQ(active_tree()->root_layer(), next.current_layer); | 209 EXPECT_EQ(active_tree()->root_layer(), next.current_layer); |
210 | 210 |
211 ++begin; | 211 ++begin; |
212 EXPECT_EQ(end, begin); | 212 EXPECT_EQ(end, begin); |
213 | 213 |
214 PrintResults(); | 214 PrintResults(); |
215 } | 215 } |
216 | 216 |
217 } // namespace | 217 } // namespace |
218 } // namespace cc | 218 } // namespace cc |
OLD | NEW |