• R
    Caching for layouts and harfbuzz faces · 4d4e6bc8
    Raph Levien 提交于
    This patch adds caching for both layouts and for HarfBuzz face objects.
    The granularity of the cache for layouts is words, so it splits the
    input string at word boundaries (using a heuristic). There are is also
    some refactoring to reduce the amount of allocation and copying, and
    movement towards properly supporting contexts.
    
    The size of the caches is a fixed number of entries; thus, it is
    possible to consume a large amount of memory by filling the cache with
    lots of large strings. This should be refined towards a scheme that
    bounds the total memory used by the cache.
    
    This patch fixes bug 15237293 "Regression: Measure performance is
    significantly slower with minikin".
    
    Change-Id: Ie8176857e2d78656ce5479a7c04969819ef2718d
    4d4e6bc8
Layout.cpp 24.9 KB