Index: tools/PictureBenchmark.cpp |
=================================================================== |
--- tools/PictureBenchmark.cpp (revision 14079) |
+++ tools/PictureBenchmark.cpp (working copy) |
@@ -22,7 +22,8 @@ |
, fTimerResult(TimerData::kAvg_Result) |
, fTimerTypes(0) |
, fTimeIndividualTiles(false) |
-, fPurgeDecodedTex(false) |
+, fPurgeDecodedTex1(false) |
+, fPreprocess(false) |
{} |
PictureBenchmark::~PictureBenchmark() { |
@@ -76,11 +77,25 @@ |
fRenderer->init(pict, NULL, NULL, false); |
// We throw this away to remove first time effects (such as paging in this program) |
- fRenderer->setup(); |
+ fRenderer->setup1(); |
+ |
+ if (fPreprocess) { |
+ if (NULL != fRenderer->getCanvas()) { |
+ fRenderer->getCanvas()->EXPERIMENTAL_optimize(pict); |
+ } |
+ } |
+ |
fRenderer->render(NULL); |
fRenderer->resetState(true); // flush, swapBuffers and Finish |
- if (fPurgeDecodedTex) { |
+ if (fPreprocess) { |
+// pict->needsNewGenID(); |
+ if (NULL != fRenderer->getCanvas()) { |
+ fRenderer->getCanvas()->EXPERIMENTAL_purge(); |
+ } |
+ } |
+ |
+ if (fPurgeDecodedTex1) { |
fRenderer->purgeTextures(); |
} |
@@ -160,7 +175,7 @@ |
perTileTimer->end(); |
SkAssertResult(perTileTimerData.appendTimes(perTileTimer.get())); |
- if (fPurgeDecodedTex) { |
+ if (fPurgeDecodedTex1) { |
fRenderer->purgeTextures(); |
} |
} |
@@ -185,7 +200,7 @@ |
this->logProgress(result.c_str()); |
#endif |
- if (fPurgeDecodedTex) { |
+ if (fPurgeDecodedTex1) { |
configName.append(" <withPurging>"); |
} |
configName.append(" <averaged>"); |
@@ -206,7 +221,7 @@ |
longRunningTimer->start(); |
for (int inner = 0; inner < numInnerLoops; ++inner) { |
- fRenderer->setup(); |
+ fRenderer->setup1(); |
perRunTimer->start(); |
fRenderer->render(NULL); |
@@ -216,9 +231,17 @@ |
SkAssertResult(perRunTimerData.appendTimes(perRunTimer.get())); |
- if (fPurgeDecodedTex) { |
+ if (fPreprocess) { |
+// pict->needsNewGenID(); |
+ if (NULL != fRenderer->getCanvas()) { |
+ fRenderer->getCanvas()->EXPERIMENTAL_purge(); |
+ } |
+ } |
+ |
+ if (fPurgeDecodedTex1) { |
fRenderer->purgeTextures(); |
} |
+ |
} |
longRunningTimer->truncatedEnd(); |
fRenderer->resetState(true); // flush, swapBuffers and Finish |
@@ -227,7 +250,7 @@ |
} |
SkString configName = fRenderer->getConfigName(); |
- if (fPurgeDecodedTex) { |
+ if (fPurgeDecodedTex1) { |
configName.append(" <withPurging>"); |
} |