| Index: tools/PictureBenchmark.cpp
|
| ===================================================================
|
| --- tools/PictureBenchmark.cpp (revision 12709)
|
| +++ tools/PictureBenchmark.cpp (working copy)
|
| @@ -22,6 +22,7 @@
|
| , fTimerResult(TimerData::kAvg_Result)
|
| , fTimerTypes(0)
|
| , fTimeIndividualTiles(false)
|
| +, fPurgeDecodedTex(false)
|
| {}
|
|
|
| PictureBenchmark::~PictureBenchmark() {
|
| @@ -79,6 +80,10 @@
|
| fRenderer->render(NULL);
|
| fRenderer->resetState(true);
|
|
|
| + if (fPurgeDecodedTex) {
|
| + fRenderer->purgeTextures();
|
| + }
|
| +
|
| bool usingGpu = false;
|
| #if SK_SUPPORT_GPU
|
| usingGpu = fRenderer->isUsingGpuDevice();
|
| @@ -140,6 +145,10 @@
|
| tiledRenderer->resetState(false);
|
| perTileTimer->end();
|
| SkAssertResult(perTileTimerData.appendTimes(perTileTimer.get()));
|
| +
|
| + if (fPurgeDecodedTex) {
|
| + fRenderer->purgeTextures();
|
| + }
|
| }
|
| longRunningTimer->truncatedEnd();
|
| tiledRenderer->resetState(true);
|
| @@ -160,7 +169,9 @@
|
| #if 0
|
| this->logProgress(result.c_str());
|
| #endif
|
| -
|
| + if (fPurgeDecodedTex) {
|
| + configName.append(" <withPurging>");
|
| + }
|
| configName.append(" <averaged>");
|
| SkString longRunningResult = longRunningTimerData.getResult(
|
| tiledRenderer->getNormalTimeFormat().c_str(),
|
| @@ -186,6 +197,10 @@
|
| perRunTimer->end();
|
|
|
| SkAssertResult(perRunTimerData.appendTimes(perRunTimer.get()));
|
| +
|
| + if (fPurgeDecodedTex) {
|
| + fRenderer->purgeTextures();
|
| + }
|
| }
|
| longRunningTimer->truncatedEnd();
|
| fRenderer->resetState(true);
|
| @@ -193,6 +208,9 @@
|
| SkAssertResult(longRunningTimerData.appendTimes(longRunningTimer.get()));
|
|
|
| SkString configName = fRenderer->getConfigName();
|
| + if (fPurgeDecodedTex) {
|
| + configName.append(" <withPurging>");
|
| + }
|
|
|
| // Beware - since the per-run-timer doesn't ever include a glFinish it can
|
| // report a lower time then the long-running-timer
|
|
|