FontClient plugin cache optimize 87/275287/28
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 19 May 2022 13:13:55 +0000 (22:13 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 2 Jun 2022 08:12:44 +0000 (17:12 +0900)
commit1646f9232f98b0696eb38fe55f9c865143646e38
tree8498bcf530585e2bded85aa70a2422a42d750932
parent520c8d1ef50a0f657c3c11092532e7b1f6332c3d
FontClient plugin cache optimize

1. Make find operation of the fontId by fontDescriptionId and
requestedPointSize int O(1) by unordered_map.

2. Cache 128 (or DALI_GLYPH_CACHE_MAX) Glyphs per each glyphIndex.
So we can access glyph informations more faster.
This Glyph cache algorithm working as LRU (Least Recently Used).

TODO : is LRUCacheContainer used only for text-abstraction/plugin?

Change-Id: I9f66435527b73507ffa85c71bc4b594545c5f1eb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
13 files changed:
automated-tests/src/dali-adaptor-internal/CMakeLists.txt
automated-tests/src/dali-adaptor-internal/utc-Dali-LRUCacheContainer.cpp [new file with mode: 0644]
dali/internal/text/file.list
dali/internal/text/text-abstraction/plugin/bitmap-font-cache-item.cpp
dali/internal/text/text-abstraction/plugin/bitmap-font-cache-item.h
dali/internal/text/text-abstraction/plugin/font-cache-item-interface.h
dali/internal/text/text-abstraction/plugin/font-client-plugin-impl.cpp
dali/internal/text/text-abstraction/plugin/font-client-plugin-impl.h
dali/internal/text/text-abstraction/plugin/font-face-cache-item.cpp
dali/internal/text/text-abstraction/plugin/font-face-cache-item.h
dali/internal/text/text-abstraction/plugin/font-face-glyph-cache-manager.cpp [new file with mode: 0644]
dali/internal/text/text-abstraction/plugin/font-face-glyph-cache-manager.h [new file with mode: 0644]
dali/internal/text/text-abstraction/plugin/lru-cache-container.h [new file with mode: 0644]