diff options
Diffstat (limited to 'chromium/cc/tiles/gpu_image_decode_cache_perftest.cc')
-rw-r--r-- | chromium/cc/tiles/gpu_image_decode_cache_perftest.cc | 62 |
1 files changed, 34 insertions, 28 deletions
diff --git a/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc b/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc index b201c58b0af..8b1d4239d40 100644 --- a/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc +++ b/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <memory> #include <vector> #include "base/timer/lap_timer.h" @@ -12,7 +13,7 @@ #include "components/viz/test/test_in_process_context_provider.h" #include "gpu/command_buffer/client/raster_interface.h" #include "testing/gtest/include/gtest/gtest.h" -#include "testing/perf/perf_test.h" +#include "testing/perf/perf_result_reporter.h" #include "third_party/skia/include/core/SkSurface.h" namespace cc { @@ -48,17 +49,14 @@ class GpuImageDecodeCachePerfTest context_provider_( base::MakeRefCounted<viz::TestInProcessContextProvider>( UseTransferCache(), - false /* support_locking */)), - cache_(context_provider_.get(), - UseTransferCache(), - kRGBA_8888_SkColorType, - kCacheSize, - MaxTextureSize(), - PaintImage::kDefaultGeneratorClientId) { - // Initializing context here is ok because image decode cache does not use - // context provider in its constructor. + false /* support_locking */)) {} + + void SetUp() override { gpu::ContextResult result = context_provider_->BindToCurrentThread(); - DCHECK_EQ(result, gpu::ContextResult::kSuccess); + ASSERT_EQ(result, gpu::ContextResult::kSuccess); + cache_ = std::make_unique<GpuImageDecodeCache>( + context_provider_.get(), UseTransferCache(), kRGBA_8888_SkColorType, + kCacheSize, MaxTextureSize(), PaintImage::kDefaultGeneratorClientId); } protected: @@ -87,9 +85,17 @@ class GpuImageDecodeCachePerfTest } } + perf_test::PerfResultReporter SetUpReporter( + const std::string& metric_suffix) { + perf_test::PerfResultReporter reporter("gpu_image_decode_cache", + ParamName()); + reporter.RegisterImportantMetric(metric_suffix, "runs/s"); + return reporter; + } + base::LapTimer timer_; scoped_refptr<viz::TestInProcessContextProvider> context_provider_; - GpuImageDecodeCache cache_; + std::unique_ptr<GpuImageDecodeCache> cache_; }; INSTANTIATE_TEST_SUITE_P(P, @@ -110,14 +116,14 @@ TEST_P(GpuImageDecodeCachePerfTest, DecodeWithColorConversion) { CreateMatrix(SkSize::Make(1.0f, 1.0f)), 0u, gfx::ColorSpace::CreateXYZD50()); - DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image); - cache_.DrawWithImageFinished(image, decoded_image); + DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image); + cache_->DrawWithImageFinished(image, decoded_image); timer_.NextLap(); } while (!timer_.HasTimeLimitExpired()); - perf_test::PrintResult("gpu_image_decode_cache_decode_with_color_conversion", - ParamName(), "result", timer_.LapsPerSecond(), - "runs/s", true); + perf_test::PerfResultReporter reporter = + SetUpReporter("_with_color_conversion"); + reporter.AddResult("_with_color_conversion", timer_.LapsPerSecond()); } using GpuImageDecodeCachePerfTestNoSw = GpuImageDecodeCachePerfTest; @@ -142,7 +148,7 @@ TEST_P(GpuImageDecodeCachePerfTestNoSw, DecodeWithMips) { SkIRect::MakeWH(1024, 2048), kMedium_SkFilterQuality, CreateMatrix(SkSize::Make(0.6f, 0.6f)), 0u, gfx::ColorSpace()); - DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image); + DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image); if (GetParam() == TestMode::kGpu) { SkPaint paint; @@ -153,12 +159,12 @@ TEST_P(GpuImageDecodeCachePerfTestNoSw, DecodeWithMips) { surface->flush(); } - cache_.DrawWithImageFinished(image, decoded_image); + cache_->DrawWithImageFinished(image, decoded_image); timer_.NextLap(); } while (!timer_.HasTimeLimitExpired()); - perf_test::PrintResult("gpu_image_decode_cache_decode_with_mips", ParamName(), - "result", timer_.LapsPerSecond(), "runs/s", true); + perf_test::PerfResultReporter reporter = SetUpReporter("_with_mips"); + reporter.AddResult("_with_mips", timer_.LapsPerSecond()); } TEST_P(GpuImageDecodeCachePerfTest, AcquireExistingImages) { @@ -172,18 +178,18 @@ TEST_P(GpuImageDecodeCachePerfTest, AcquireExistingImages) { CreateMatrix(SkSize::Make(1.0f, 1.0f)), 0u, gfx::ColorSpace::CreateXYZD50()); - DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image); - cache_.DrawWithImageFinished(image, decoded_image); + DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image); + cache_->DrawWithImageFinished(image, decoded_image); do { - decoded_image = cache_.GetDecodedImageForDraw(image); - cache_.DrawWithImageFinished(image, decoded_image); + decoded_image = cache_->GetDecodedImageForDraw(image); + cache_->DrawWithImageFinished(image, decoded_image); timer_.NextLap(); } while (!timer_.HasTimeLimitExpired()); - perf_test::PrintResult("gpu_image_decode_cache_acquire_existing_images", - ParamName(), "result", timer_.LapsPerSecond(), - "runs/s", true); + perf_test::PerfResultReporter reporter = + SetUpReporter("_acquire_existing_images"); + reporter.AddResult("_acquire_existing_images", timer_.LapsPerSecond()); } } // namespace |