diff options
author | reed <reed@google.com> | 2015-02-25 07:17:11 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-25 07:17:11 -0800 |
commit | 83787d0ff0a2b2f839a4a3ce6dadd033f83fe643 (patch) | |
tree | abc0791b564824241daf23640ba04f4513bbb5b6 /tests/SkResourceCacheTest.cpp | |
parent | 8673765ab59beec47d0ec8d057ff218e550e658f (diff) |
only notify bitmaps that have been added to the cache
old code:
- calls=2677 hit-rate=3.51139%
new code:
- calls=94 hit-rate=97.8723%
BUG=skia:
Review URL: https://codereview.chromium.org/960563002
Diffstat (limited to 'tests/SkResourceCacheTest.cpp')
-rw-r--r-- | tests/SkResourceCacheTest.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tests/SkResourceCacheTest.cpp b/tests/SkResourceCacheTest.cpp index 626c837361..fae0816305 100644 --- a/tests/SkResourceCacheTest.cpp +++ b/tests/SkResourceCacheTest.cpp @@ -108,20 +108,22 @@ DEF_TEST(BitmapCache_add_rect, reporter) { SkBitmap bm; SkIRect rect = SkIRect::MakeWH(5, 5); + uint32_t cachedID = cachedBitmap.getGenerationID(); + SkPixelRef* cachedPR = cachedBitmap.pixelRef(); // Wrong subset size - REPORTER_ASSERT(reporter, !SkBitmapCache::Add(cachedBitmap.getGenerationID(), SkIRect::MakeWH(4, 6), cachedBitmap, cache)); - REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); + REPORTER_ASSERT(reporter, !SkBitmapCache::Add(cachedPR, SkIRect::MakeWH(4, 6), cachedBitmap, cache)); + REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedID, rect, &bm, cache)); // Wrong offset value - REPORTER_ASSERT(reporter, !SkBitmapCache::Add(cachedBitmap.getGenerationID(), SkIRect::MakeXYWH(-1, 0, 5, 5), cachedBitmap, cache)); - REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); + REPORTER_ASSERT(reporter, !SkBitmapCache::Add(cachedPR, SkIRect::MakeXYWH(-1, 0, 5, 5), cachedBitmap, cache)); + REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedID, rect, &bm, cache)); // Should not be in the cache - REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); + REPORTER_ASSERT(reporter, !SkBitmapCache::Find(cachedID, rect, &bm, cache)); - REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedBitmap.getGenerationID(), rect, cachedBitmap, cache)); + REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedPR, rect, cachedBitmap, cache)); // Should be in the cache, we just added it - REPORTER_ASSERT(reporter, SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); + REPORTER_ASSERT(reporter, SkBitmapCache::Find(cachedID, rect, &bm, cache)); } #include "SkMipMap.h" @@ -215,7 +217,7 @@ static void test_bitmap_notify(skiatest::Reporter* reporter, SkResourceCache* ca src[i].setImmutable(); dst[i].allocN32Pixels(5, 5); dst[i].setImmutable(); - SkBitmapCache::Add(src[i].getGenerationID(), subset, dst[i], cache); + SkBitmapCache::Add(src[i].pixelRef(), subset, dst[i], cache); } for (int i = 0; i < N; ++i) { @@ -255,7 +257,7 @@ DEF_TEST(BitmapCache_discarded_bitmap, reporter) { SkIRect rect = SkIRect::MakeWH(5, 5); // Add a bitmap to the cache. - REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedBitmap.getGenerationID(), rect, cachedBitmap, cache)); + REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedBitmap.pixelRef(), rect, cachedBitmap, cache)); REPORTER_ASSERT(reporter, SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); // Finding more than once works fine. @@ -277,7 +279,7 @@ DEF_TEST(BitmapCache_discarded_bitmap, reporter) { cachedBitmap.unlockPixels(); // We can add the bitmap back to the cache and find it again. - REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedBitmap.getGenerationID(), rect, cachedBitmap, cache)); + REPORTER_ASSERT(reporter, SkBitmapCache::Add(cachedBitmap.pixelRef(), rect, cachedBitmap, cache)); REPORTER_ASSERT(reporter, SkBitmapCache::Find(cachedBitmap.getGenerationID(), rect, &bm, cache)); test_mipmapcache(reporter, cache); |