genlist: performance enhancement by refactoring realization logics
authorSangHyeon Jade Lee <sh10233.lee@samsung.com>
Thu, 23 Apr 2020 09:33:15 +0000 (18:33 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 5 May 2020 23:37:42 +0000 (08:37 +0900)
commit719fda5384c0a90095435772b3fd0e58848f99cf
tree4cae9cf3e513bd6bca40186553a315a8d20ba85e
parentacde3f8accbcbed5554476b6091a4da980919f0b
genlist: performance enhancement by refactoring realization logics

item realize and unrealize time can be reduced by removing
unnecessary view / proxy object creation.

we have cache for unrealized view / proxy,
but it will be filled by unrealization,
so we need to place item realization after unrealization.

this patch is tweak of change all the item realization
performed right after the every item unrealization done.

if there are so many unrealization,
cache can be overflow, which is double of block size.

but most of cases,
visible item counts are less than block size,
and worst scenario of screen refresh is every visible item changes,
so cache size will be big enough to perform the 1 frame unrealizaiton.

Change-Id: Ibad2f48efca829137d3a95b4110a998eb7533692
src/lib/elementary_tizen/elm_genlist.c