Perform multi core rendering in bench_pictures.
Add a flag in SkGPipeWriter for threadsafe drawing.
Add a deferred pipe controller to SamplePipeControllers, which can
be called to play back in multiple threads.
Depends on http://codereview.appspot.com/6459105/
Review URL: https://codereview.appspot.com/6482068
git-svn-id: http://skia.googlecode.com/svn/trunk@5371 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/PictureBenchmark.cpp b/tools/PictureBenchmark.cpp
index d24bb8b..29152f8 100644
--- a/tools/PictureBenchmark.cpp
+++ b/tools/PictureBenchmark.cpp
@@ -194,13 +194,16 @@
}
SkString result;
+ if (fRenderer.isMultiThreaded()) {
+ result.printf("multithreaded using %s ", (fRenderer.isUsePipe() ? "pipe" : "picture"));
+ }
if (fRenderer.getTileMinPowerOf2Width() > 0) {
- result.printf("%i_pow2tiles_%iminx%i: msecs = %6.2f", fRenderer.numTiles(),
- fRenderer.getTileMinPowerOf2Width(), fRenderer.getTileHeight(),
- wall_time / fRepeats);
+ result.appendf("%i_pow2tiles_%iminx%i: msecs = %6.2f", fRenderer.numTiles(),
+ fRenderer.getTileMinPowerOf2Width(), fRenderer.getTileHeight(),
+ wall_time / fRepeats);
} else {
- result.printf("%i_tiles_%ix%i: msecs = %6.2f", fRenderer.numTiles(),
- fRenderer.getTileWidth(), fRenderer.getTileHeight(), wall_time / fRepeats);
+ result.appendf("%i_tiles_%ix%i: msecs = %6.2f", fRenderer.numTiles(),
+ fRenderer.getTileWidth(), fRenderer.getTileHeight(), wall_time / fRepeats);
}
#if SK_SUPPORT_GPU
if (fRenderer.isUsingGpuDevice()) {