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_; |