aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/ImageCacheBench.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-08-21 09:46:49 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-21 09:46:49 -0700
commit04617139f7f715bdc05a32a58e65e3c208bccff4 (patch)
tree4f2d890e90af537711177fab497741fc98848c8a /bench/ImageCacheBench.cpp
parent53fecfb15d254397ab03032b888daa9d15c487b6 (diff)
expose generalized imagecache key
BUG=skia: R=mtklein@google.com, halcanary@google.com, qiankun.miao@intel.com Author: reed@google.com Review URL: https://codereview.chromium.org/483493003
Diffstat (limited to 'bench/ImageCacheBench.cpp')
-rw-r--r--bench/ImageCacheBench.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/bench/ImageCacheBench.cpp b/bench/ImageCacheBench.cpp
index e65d1fc3e8..07f332baa2 100644
--- a/bench/ImageCacheBench.cpp
+++ b/bench/ImageCacheBench.cpp
@@ -8,6 +8,19 @@
#include "Benchmark.h"
#include "SkScaledImageCache.h"
+namespace {
+static void* gGlobalAddress;
+class TestKey : public SkScaledImageCache::Key {
+public:
+ void* fPtr;
+ intptr_t fValue;
+
+ TestKey(intptr_t value) : fPtr(&gGlobalAddress), fValue(value) {
+ this->init(sizeof(fPtr) + sizeof(fValue));
+ }
+};
+}
+
class ImageCacheBench : public Benchmark {
SkScaledImageCache fCache;
SkBitmap fBM;
@@ -22,12 +35,11 @@ public:
}
void populateCache() {
- SkScalar scale = 1;
for (int i = 0; i < CACHE_COUNT; ++i) {
+ TestKey key(i);
SkBitmap tmp;
tmp.allocN32Pixels(1, 1);
- fCache.unlock(fCache.addAndLock(fBM, scale, scale, tmp));
- scale += 1;
+ fCache.unlock(fCache.addAndLock(key, tmp));
}
}
@@ -41,10 +53,12 @@ protected:
this->populateCache();
}
+ TestKey key(-1);
SkBitmap tmp;
// search for a miss (-1 scale)
for (int i = 0; i < loops; ++i) {
- (void)fCache.findAndLock(fBM, -1, -1, &tmp);
+ SkDEBUGCODE(SkScaledImageCache::ID* id =) fCache.findAndLock(key, &tmp);
+ SkASSERT(NULL == id);
}
}