diff options
author | jvanverth <jvanverth@google.com> | 2014-09-03 08:44:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-03 08:44:59 -0700 |
commit | 3f5417590a1ed34de2fb89994493db0b1153b4cb (patch) | |
tree | c822f4d2b83d2511a84b67754116d605dda8e737 /gm/fontcache.cpp | |
parent | b381fa10d8079c58928058bb8a6db32b39f05e51 (diff) |
Update fontcache GM to stress the font atlas.
Pulled out of https://codereview.chromium.org/466363009/.
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/534253003
Diffstat (limited to 'gm/fontcache.cpp')
-rw-r--r-- | gm/fontcache.cpp | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/gm/fontcache.cpp b/gm/fontcache.cpp index 74ec18a450..99554a2c32 100644 --- a/gm/fontcache.cpp +++ b/gm/fontcache.cpp @@ -13,15 +13,15 @@ // GM to stress the GPU font cache const char* gFamilyNames[] = { - "sans-serif", "serif", "monospace" + "sans-serif", "serif" }; const SkTypeface::Style gStyles[] = { - SkTypeface::kNormal, SkTypeface::kItalic + SkTypeface::kNormal, SkTypeface::kItalic, SkTypeface::kBold }; const SkScalar gTextSizes[] = { - 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 + 192, 194, 196, 198, 200, 202, 204, 206 }; #define TYPEFACE_COUNT (SK_ARRAY_COUNT(gFamilyNames)*SK_ARRAY_COUNT(gStyles)) @@ -52,7 +52,7 @@ protected: } virtual SkISize onISize() SK_OVERRIDE { - return SkISize::Make(640, 320); + return SkISize::Make(1280, 640); } virtual void onOnceBeforeDraw() SK_OVERRIDE { @@ -72,33 +72,18 @@ protected: paint.setLCDRenderText(true); paint.setSubpixelText(true); - SkString text("Ham"); + SkString text("H"); - // draw some initial text to partially fill the GPU cache - for (size_t i = 0; i < 2; ++i) { - paint.setTypeface(fTypefaces[i]); - SkScalar x = 20; - - for (size_t j = 0; j < SK_ARRAY_COUNT(gTextSizes); ++j) { - paint.setTextSize(gTextSizes[j]); - x = draw_string(canvas, text, x, y, paint) + 19; - } - y += 32; - } - - // force a flush - canvas->flush(); - - // draw again, and more to overflow the cache + // draw enough to overflow the cache for (size_t i = 0; i < TYPEFACE_COUNT; ++i) { paint.setTypeface(fTypefaces[i]); SkScalar x = 20; for (size_t j = 0; j < SK_ARRAY_COUNT(gTextSizes); ++j) { paint.setTextSize(gTextSizes[j]); - x = draw_string(canvas, text, x, y, paint) + 19; + x = draw_string(canvas, text, x, y, paint) + 10; } - y += 32; + y += 128; } } |