| Index: tools/bench_pictures_main.cpp
|
| diff --git a/tools/bench_pictures_main.cpp b/tools/bench_pictures_main.cpp
|
| index 5ff519c8c5e67e9aa6aef4ce47e3637f7197518f..b79dfedff230f1eb0f799c3db1e51fce6d3ac3d8 100644
|
| --- a/tools/bench_pictures_main.cpp
|
| +++ b/tools/bench_pictures_main.cpp
|
| @@ -12,6 +12,7 @@
|
| #include "PictureRenderingFlags.h"
|
| #include "SkBenchLogger.h"
|
| #include "SkCommandLineFlags.h"
|
| +#include "SkData.h"
|
| #include "SkDiscardableMemoryPool.h"
|
| #include "SkGraphics.h"
|
| #include "SkImageDecoder.h"
|
| @@ -20,8 +21,11 @@
|
| #include "SkPicture.h"
|
| #include "SkStream.h"
|
| #include "picture_utils.h"
|
| +#include "PictureResultsWriter.h"
|
|
|
| SkBenchLogger gLogger;
|
| +PictureResultsLoggerWriter gLogWriter(&gLogger);
|
| +PictureResultsMultiWriter gWriter;
|
|
|
| // Flags used by this file, in alphabetical order.
|
| DEFINE_bool(countRAM, false, "Count the RAM used for bitmap pixels in each skp file");
|
| @@ -35,6 +39,9 @@ DEFINE_string(filter, "",
|
| "Specific flags are listed above.");
|
| DEFINE_string(logFile, "", "Destination for writing log output, in addition to stdout.");
|
| DEFINE_bool(logPerIter, false, "Log each repeat timer instead of mean.");
|
| +#ifdef SK_BUILD_JSON_WRITER
|
| +DEFINE_string(jsonLog, "", "Destination for writing JSON data.");
|
| +#endif
|
| DEFINE_bool(min, false, "Print the minimum times (instead of average).");
|
| DECLARE_int32(multi);
|
| DECLARE_string(readPath);
|
| @@ -187,10 +194,7 @@ static bool run_single_benchmark(const SkString& inputPath,
|
| SkString filename;
|
| sk_tools::get_basename(&filename, inputPath);
|
|
|
| - SkString result;
|
| - result.printf("running bench [%i %i] %s ", picture->width(), picture->height(),
|
| - filename.c_str());
|
| - gLogger.logProgress(result);
|
| + gWriter.bench(filename.c_str(), picture->width(), picture->height());
|
|
|
| benchmark.run(picture);
|
|
|
| @@ -360,7 +364,7 @@ static void setup_benchmark(sk_tools::PictureBenchmark* benchmark) {
|
| }
|
| benchmark->setRenderer(renderer);
|
| benchmark->setRepeats(FLAGS_repeat);
|
| - benchmark->setLogger(&gLogger);
|
| + benchmark->setWriter(&gWriter);
|
| }
|
|
|
| static int process_input(const char* input,
|
| @@ -417,6 +421,16 @@ int tool_main(int argc, char** argv) {
|
| }
|
| }
|
|
|
| +#ifdef SK_BUILD_JSON_WRITER
|
| + SkAutoTDelete<PictureJSONResultsWriter> jsonWriter;
|
| + if (FLAGS_jsonLog.count() == 1) {
|
| + jsonWriter.reset(SkNEW(PictureJSONResultsWriter(FLAGS_jsonLog[0])));
|
| + gWriter.add(jsonWriter.get());
|
| + }
|
| +
|
| +#endif
|
| + gWriter.add(&gLogWriter);
|
| +
|
|
|
| #if SK_ENABLE_INST_COUNT
|
| gPrintInstCount = true;
|
| @@ -444,6 +458,7 @@ int tool_main(int argc, char** argv) {
|
| (double) gTotalCacheHits / (gTotalCacheHits + gTotalCacheMisses));
|
| }
|
| #endif
|
| + gWriter.end();
|
| return 0;
|
| }
|
|
|
|
|