Page MenuHomePhabricator

genlist item cache
Open, NormalPublic

Description

There seems to be a problem with the item cache:

  • the edje objects are still processed by edje, which means that in the worst case we have 65 not visible objects beeing processed by edje (with signals etc. etc.).
  • hiding the view object and all the contents does not help to get them out of the canvas, since they are getting visible again from edje signal calls.
  • the contents from the cache are not reused, the content is regenerated, checked if it is different to the old content and then decided what to do. Due to the nature of how genlist gengrid is build, content_get is likely to return every time a different pointer, thus the cache is not really effective, since the content is recreated (which is the heavy task I guess?)
bu5hm4n created this task.Aug 4 2018, 3:29 AM
bu5hm4n triaged this task as Normal priority.
zmike added a project: Restricted Project.Jan 17 2019, 11:26 AM
zmike added subscribers: cedric, segfaultxavi.

In order:

  1. edje_object_play_set and edje_object_freeze on the layout object's edje would probably solve this
  2. see above
  3. I think the idea of the cache is to cache the layout object, not the content; the reuse api is for caching the content, but this is only useful in the case where every item has identical content

This kind of thing is likely what should be considered with any "updated" version of genlist functionality.