Hello all,

Loading (startup) performance problem:
--------------------------------------------------
I just had time to look at the elm_genlist performance problem again.
Sometime ago, I asked the list about elm_genlist's walking through the
list at startup in order to determine the list's width and height.
However, the performance problem when loading a huge list of items to
a genlist still persists.  While it is okay on my desktop, it really
freezes up my target (ARM926ejs @ 400MHz) for quite some time.

I suggest adding a new API:
elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous)
to let the genlist know about the list's nature and uses the first
item's width and height as a reference for the remaining list items.
'homogeneous' also implies 'compress' mode.
On my target, it loads 1000+ items fine this way without rendering the
system unresponsive.
genlist already does lazy-loading quite well.  This will make it
'lazier' if the list items are of the same size.

Scrolling performance problem:
--------------------------------------------------
Also, I suggest adding another API:
elm_genlist_block_count_set(Evas_Object *obj, int max)
to let the programmer decides what's the optimal block size for
his/her particular target.  I believe this value is currently
hard-coded '32'.  The problem is that when the idler renders this
chunk of items, it will slow down the system when the user scrolls
around outside the 32-item block already rendered.

I already tested my version on my target.  It seems to work quite well
even on a big list (1000+ items).

Any thoughts?  Thanks in advance for inputs.



brian

-- 
brian
------------------

Cool-Karaoke - The smallest recording studio, in your palm, open-sourced
http://cool-idea.com.tw/

iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to