Chromium Code Reviews| Index: cc/surfaces/surface_aggregator_perftest.cc |
| diff --git a/cc/surfaces/surface_aggregator_perftest.cc b/cc/surfaces/surface_aggregator_perftest.cc |
| index 0d990f0ac9263272a20140c2120c0be62acc9a01..88c8186515cd4c5dc12deccfd9e1f0d6819513df 100644 |
| --- a/cc/surfaces/surface_aggregator_perftest.cc |
| +++ b/cc/surfaces/surface_aggregator_perftest.cc |
| @@ -33,8 +33,7 @@ class EmptySurfaceFactoryClient : public SurfaceFactoryClient { |
| class SurfaceAggregatorPerfTest : public testing::Test { |
| public: |
| - SurfaceAggregatorPerfTest() |
| - : factory_(kArbitraryFrameSinkId, &manager_, &empty_client_) { |
| + SurfaceAggregatorPerfTest() { |
| context_provider_ = TestContextProvider::Create(); |
| context_provider_->BindToCurrentThread(); |
| shared_bitmap_manager_.reset(new TestSharedBitmapManager); |
| @@ -49,11 +48,14 @@ class SurfaceAggregatorPerfTest : public testing::Test { |
| bool optimize_damage, |
| bool full_damage, |
| const std::string& name) { |
| + std::unique_ptr<SurfaceFactory> factories[num_surfaces + 1]; |
| + for (int i = 0; i <= num_surfaces; i++) |
| + factories[i].reset( |
| + new SurfaceFactory(kArbitraryFrameSinkId, &manager_, &empty_client_)); |
| aggregator_.reset(new SurfaceAggregator(&manager_, resource_provider_.get(), |
| optimize_damage)); |
| for (int i = 1; i <= num_surfaces; i++) { |
| LocalFrameId local_frame_id(i, kArbitraryToken); |
| - factory_.Create(local_frame_id); |
| std::unique_ptr<RenderPass> pass(RenderPass::Create()); |
| CompositorFrame frame; |
| @@ -95,11 +97,10 @@ class SurfaceAggregatorPerfTest : public testing::Test { |
| } |
| frame.render_pass_list.push_back(std::move(pass)); |
| - factory_.SubmitCompositorFrame(local_frame_id, std::move(frame), |
| - SurfaceFactory::DrawCallback()); |
| + factories[i - 1]->SubmitCompositorFrame(local_frame_id, std::move(frame), |
| + SurfaceFactory::DrawCallback()); |
| } |
| - factory_.Create(LocalFrameId(num_surfaces + 1, kArbitraryToken)); |
|
danakj
2016/11/12 00:27:21
nit: I think this would read a bit clearer if the
Saman Sami
2016/11/14 23:39:01
Done.
|
| timer_.Reset(); |
| do { |
| std::unique_ptr<RenderPass> pass(RenderPass::Create()); |
| @@ -119,7 +120,7 @@ class SurfaceAggregatorPerfTest : public testing::Test { |
| pass->damage_rect = gfx::Rect(0, 0, 1, 1); |
| frame.render_pass_list.push_back(std::move(pass)); |
| - factory_.SubmitCompositorFrame( |
| + factories[num_surfaces]->SubmitCompositorFrame( |
| LocalFrameId(num_surfaces + 1, kArbitraryToken), std::move(frame), |
| SurfaceFactory::DrawCallback()); |
| @@ -131,16 +132,11 @@ class SurfaceAggregatorPerfTest : public testing::Test { |
| perf_test::PrintResult("aggregator_speed", "", name, timer_.LapsPerSecond(), |
| "runs/s", true); |
| - |
| - factory_.Destroy(LocalFrameId(num_surfaces + 1, kArbitraryToken)); |
| - for (int i = 1; i <= num_surfaces; i++) |
| - factory_.Destroy(LocalFrameId(i, kArbitraryToken)); |
| } |
| protected: |
| SurfaceManager manager_; |
| EmptySurfaceFactoryClient empty_client_; |
| - SurfaceFactory factory_; |
| scoped_refptr<TestContextProvider> context_provider_; |
| std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_; |
| std::unique_ptr<ResourceProvider> resource_provider_; |