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

Side by Side Diff: cc/surfaces/surface_aggregator_perftest.cc

Issue 2379653006: Replaced cc::SurfaceId::nonce_ with base::UnguessableToken (Closed)
Patch Set: Changed comments in surface_id.h to reflect the change Created 4 years, 2 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
« no previous file with comments | « cc/surfaces/local_frame_id.h ('k') | cc/surfaces/surface_aggregator_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/memory/ptr_util.h" 5 #include "base/memory/ptr_util.h"
6 #include "cc/debug/lap_timer.h" 6 #include "cc/debug/lap_timer.h"
7 #include "cc/output/compositor_frame.h" 7 #include "cc/output/compositor_frame.h"
8 #include "cc/output/delegated_frame_data.h" 8 #include "cc/output/delegated_frame_data.h"
9 #include "cc/quads/surface_draw_quad.h" 9 #include "cc/quads/surface_draw_quad.h"
10 #include "cc/quads/texture_draw_quad.h" 10 #include "cc/quads/texture_draw_quad.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 void RunTest(int num_surfaces, 45 void RunTest(int num_surfaces,
46 int num_textures, 46 int num_textures,
47 float opacity, 47 float opacity,
48 bool optimize_damage, 48 bool optimize_damage,
49 bool full_damage, 49 bool full_damage,
50 const std::string& name) { 50 const std::string& name) {
51 aggregator_.reset(new SurfaceAggregator(&manager_, resource_provider_.get(), 51 aggregator_.reset(new SurfaceAggregator(&manager_, resource_provider_.get(),
52 optimize_damage)); 52 optimize_damage));
53 for (int i = 1; i <= num_surfaces; i++) { 53 for (int i = 1; i <= num_surfaces; i++) {
54 LocalFrameId local_frame_id(i, 0); 54 LocalFrameId local_frame_id(i, base::UnguessableToken());
Fady Samuel 2016/10/18 03:56:09 Let's avoid using the default constructor.
Alex Z. 2016/11/02 17:10:20 Done.
55 factory_.Create(local_frame_id); 55 factory_.Create(local_frame_id);
56 std::unique_ptr<RenderPass> pass(RenderPass::Create()); 56 std::unique_ptr<RenderPass> pass(RenderPass::Create());
57 std::unique_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); 57 std::unique_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
58 58
59 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); 59 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
60 for (int j = 0; j < num_textures; j++) { 60 for (int j = 0; j < num_textures; j++) {
61 TransferableResource resource; 61 TransferableResource resource;
62 resource.id = j; 62 resource.id = j;
63 resource.is_software = true; 63 resource.is_software = true;
64 frame_data->resource_list.push_back(resource); 64 frame_data->resource_list.push_back(resource);
(...skipping 18 matching lines...) Expand all
83 uv_bottom_right, background_color, vertex_opacity, flipped, 83 uv_bottom_right, background_color, vertex_opacity, flipped,
84 nearest_neighbor, false); 84 nearest_neighbor, false);
85 } 85 }
86 sqs = pass->CreateAndAppendSharedQuadState(); 86 sqs = pass->CreateAndAppendSharedQuadState();
87 sqs->opacity = opacity; 87 sqs->opacity = opacity;
88 if (i > 1) { 88 if (i > 1) {
89 SurfaceDrawQuad* surface_quad = 89 SurfaceDrawQuad* surface_quad =
90 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 90 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
91 surface_quad->SetNew( 91 surface_quad->SetNew(
92 sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), 92 sqs, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1),
93 SurfaceId(kArbitraryFrameSinkId, LocalFrameId(i - 1, 0))); 93 SurfaceId(kArbitraryFrameSinkId,
94 LocalFrameId(i - 1, base::UnguessableToken())));
94 } 95 }
95 96
96 frame_data->render_pass_list.push_back(std::move(pass)); 97 frame_data->render_pass_list.push_back(std::move(pass));
97 CompositorFrame frame; 98 CompositorFrame frame;
98 frame.delegated_frame_data = std::move(frame_data); 99 frame.delegated_frame_data = std::move(frame_data);
99 factory_.SubmitCompositorFrame(local_frame_id, std::move(frame), 100 factory_.SubmitCompositorFrame(local_frame_id, std::move(frame),
100 SurfaceFactory::DrawCallback()); 101 SurfaceFactory::DrawCallback());
101 } 102 }
102 103
103 factory_.Create(LocalFrameId(num_surfaces + 1, 0)); 104 factory_.Create(LocalFrameId(num_surfaces + 1, base::UnguessableToken()));
104 timer_.Reset(); 105 timer_.Reset();
105 do { 106 do {
106 std::unique_ptr<RenderPass> pass(RenderPass::Create()); 107 std::unique_ptr<RenderPass> pass(RenderPass::Create());
107 std::unique_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); 108 std::unique_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
108 109
109 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); 110 SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
110 SurfaceDrawQuad* surface_quad = 111 SurfaceDrawQuad* surface_quad =
111 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 112 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
112 surface_quad->SetNew( 113 surface_quad->SetNew(
113 sqs, gfx::Rect(0, 0, 100, 100), gfx::Rect(0, 0, 100, 100), 114 sqs, gfx::Rect(0, 0, 100, 100), gfx::Rect(0, 0, 100, 100),
114 SurfaceId(kArbitraryFrameSinkId, LocalFrameId(num_surfaces, 0))); 115 SurfaceId(kArbitraryFrameSinkId,
116 LocalFrameId(num_surfaces, base::UnguessableToken())));
115 117
116 if (full_damage) 118 if (full_damage)
117 pass->damage_rect = gfx::Rect(0, 0, 100, 100); 119 pass->damage_rect = gfx::Rect(0, 0, 100, 100);
118 else 120 else
119 pass->damage_rect = gfx::Rect(0, 0, 1, 1); 121 pass->damage_rect = gfx::Rect(0, 0, 1, 1);
120 122
121 frame_data->render_pass_list.push_back(std::move(pass)); 123 frame_data->render_pass_list.push_back(std::move(pass));
122 CompositorFrame frame; 124 CompositorFrame frame;
123 frame.delegated_frame_data = std::move(frame_data); 125 frame.delegated_frame_data = std::move(frame_data);
124 factory_.SubmitCompositorFrame(LocalFrameId(num_surfaces + 1, 0), 126 factory_.SubmitCompositorFrame(
125 std::move(frame), 127 LocalFrameId(num_surfaces + 1, base::UnguessableToken()),
126 SurfaceFactory::DrawCallback()); 128 std::move(frame), SurfaceFactory::DrawCallback());
127 129
128 CompositorFrame aggregated = aggregator_->Aggregate( 130 CompositorFrame aggregated = aggregator_->Aggregate(
129 SurfaceId(kArbitraryFrameSinkId, LocalFrameId(num_surfaces + 1, 0))); 131 SurfaceId(kArbitraryFrameSinkId,
132 LocalFrameId(num_surfaces + 1, base::UnguessableToken())));
130 timer_.NextLap(); 133 timer_.NextLap();
131 } while (!timer_.HasTimeLimitExpired()); 134 } while (!timer_.HasTimeLimitExpired());
132 135
133 perf_test::PrintResult("aggregator_speed", "", name, timer_.LapsPerSecond(), 136 perf_test::PrintResult("aggregator_speed", "", name, timer_.LapsPerSecond(),
134 "runs/s", true); 137 "runs/s", true);
135 138
136 factory_.Destroy(LocalFrameId(num_surfaces + 1, 0)); 139 factory_.Destroy(LocalFrameId(num_surfaces + 1, base::UnguessableToken()));
137 for (int i = 1; i <= num_surfaces; i++) 140 for (int i = 1; i <= num_surfaces; i++)
138 factory_.Destroy(LocalFrameId(i, 0)); 141 factory_.Destroy(LocalFrameId(i, base::UnguessableToken()));
139 } 142 }
140 143
141 protected: 144 protected:
142 SurfaceManager manager_; 145 SurfaceManager manager_;
143 EmptySurfaceFactoryClient empty_client_; 146 EmptySurfaceFactoryClient empty_client_;
144 SurfaceFactory factory_; 147 SurfaceFactory factory_;
145 scoped_refptr<TestContextProvider> context_provider_; 148 scoped_refptr<TestContextProvider> context_provider_;
146 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_; 149 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
147 std::unique_ptr<ResourceProvider> resource_provider_; 150 std::unique_ptr<ResourceProvider> resource_provider_;
148 std::unique_ptr<SurfaceAggregator> aggregator_; 151 std::unique_ptr<SurfaceAggregator> aggregator_;
(...skipping 23 matching lines...) Expand all
172 TEST_F(SurfaceAggregatorPerfTest, FewSurfacesDamageCalc) { 175 TEST_F(SurfaceAggregatorPerfTest, FewSurfacesDamageCalc) {
173 RunTest(3, 1000, 1.f, true, true, "few_surfaces_damage_calc"); 176 RunTest(3, 1000, 1.f, true, true, "few_surfaces_damage_calc");
174 } 177 }
175 178
176 TEST_F(SurfaceAggregatorPerfTest, FewSurfacesAggregateDamaged) { 179 TEST_F(SurfaceAggregatorPerfTest, FewSurfacesAggregateDamaged) {
177 RunTest(3, 1000, 1.f, true, false, "few_surfaces_aggregate_damaged"); 180 RunTest(3, 1000, 1.f, true, false, "few_surfaces_aggregate_damaged");
178 } 181 }
179 182
180 } // namespace 183 } // namespace
181 } // namespace cc 184 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/local_frame_id.h ('k') | cc/surfaces/surface_aggregator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698