Chromium Code Reviews
DescriptionCache hb_font_t and the user data container instead of hb_face_t
Previously, we did cache the hb_face_t but not the hb_font_t, and
instead generated an hb_font_t for each HarfBuzzFace object,
outside of the cache. In the prepareHarfBuzzFontData() function,
we also reset the font functions on the newly created
hb_font_t. So in the HarfBuzzFace constructor and in each created
HarfBuzzFace object, we would create hb_font_t and reset it,
instead of reusing this from the cache, too.
This lead to HarfBuzz reloading font tables for each
FontPlatformData instance, instead of using the
per-unique-typeface caching mechanism.
This should address the memory regression we have been observing
on Android.
BUG=577306
R=behdad,eae
Patch Set 1 #
Total comments: 1
Patch Set 2 : Bug filed for FIXME #Patch Set 3 : Attempt to fix windows by rounding scale factor #Patch Set 4 : Additional paint setup instead of rounding #Patch Set 5 : Reset paint flags properly #
Messages
Total messages: 34 (15 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||