diff options
author | reed <reed@google.com> | 2014-08-21 09:46:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-21 09:46:49 -0700 |
commit | 04617139f7f715bdc05a32a58e65e3c208bccff4 (patch) | |
tree | 4f2d890e90af537711177fab497741fc98848c8a /bench/ImageCacheBench.cpp | |
parent | 53fecfb15d254397ab03032b888daa9d15c487b6 (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.cpp | 22 |
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); } } |