aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@google.com>2015-10-13 13:33:33 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-10-13 13:33:33 -0700
commit2da1a854b0836001533aa29ade89d87f420cbbc3 (patch)
tree9f586f098c6fd64e31b5438a1096512dca633bc0
parent0adfffba1bee55eee9e31e809cd0089840722b26 (diff)
Stop benching PNG buildTileIndex by default
It leaks memory and kills the bots. Supply an option to run it for local comparison. BUG=skia:4360 BUG=skia:3418 Review URL: https://codereview.chromium.org/1396613007
-rw-r--r--bench/nanobench.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index b16fb13b57..781c09f769 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -111,6 +111,7 @@ DEFINE_bool(loopSKP, true, "Loop SKPs like we do for micro benches?");
DEFINE_int32(flushEvery, 10, "Flush --outResultsFile every Nth run.");
DEFINE_bool(resetGpuContext, true, "Reset the GrContext before running each test.");
DEFINE_bool(gpuStats, false, "Print GPU stats after each gpu benchmark?");
+DEFINE_bool(pngBuildTileIndex, false, "If supported, use png buildTileIndex/decodeSubset.");
static SkString humanize(double ms) {
if (FLAGS_verbose) return SkStringPrintf("%llu", (uint64_t)(ms*1e6));
@@ -508,8 +509,8 @@ static Target* is_enabled(Benchmark* bench, const Config& config) {
*/
static bool run_subset_bench(const SkString& path, bool useCodec) {
static const char* const exts[] = {
- "jpg", "jpeg", "png",
- "JPG", "JPEG", "PNG",
+ "jpg", "jpeg",
+ "JPG", "JPEG",
};
for (uint32_t i = 0; i < SK_ARRAY_COUNT(exts); i++) {
@@ -518,7 +519,18 @@ static bool run_subset_bench(const SkString& path, bool useCodec) {
}
}
- return !useCodec && (path.endsWith("webp") || path.endsWith("WEBP"));
+ // Test png in SkCodec, and optionally on SkImageDecoder. SkImageDecoder is
+ // disabled by default because it leaks memory.
+ // skbug.com/4360
+ if ((useCodec || FLAGS_pngBuildTileIndex) && (path.endsWith("png") || path.endsWith("PNG"))) {
+ return true;
+ }
+
+ if (!useCodec && (path.endsWith("webp") || path.endsWith("WEBP"))) {
+ return true;
+ }
+
+ return false;
}
/*