bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0777b74f07857c86408bc0929e3391ced0e098e4
commit 0777b74f07857c86408bc0929e3391ced0e098e4 Author: Mike Blumenkrantz <[email protected]> Date: Mon Oct 21 16:03:56 2019 -0400 elm/genlist: don't process entire item queue on each item add this is a colossal waste of time. it ends up realizing every single item immediately even if it won't be visible, which defeats the purpose of all the batching and viewport calculations that genlist explicitly does to avoid exactly this type of behavior Reviewed-by: Cedric BAIL <[email protected]> Differential Revision: https://phab.enlightenment.org/D10522 --- src/lib/elementary/elm_genlist.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index da34e8ba3a..a1da165df3 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -4928,6 +4928,7 @@ _item_queue(Elm_Genlist_Data *sd, // FIXME: why does a freeze then thaw here cause some genlist // elm_genlist_item_append() to be much much slower? // evas_event_freeze(evas_object_evas_get(sd->obj)); +/* while ((sd->queue) && ((!sd->blocks) || (!sd->blocks->next))) { ELM_SAFE_FREE(sd->queue_idle_enterer, ecore_idle_enterer_del); @@ -4939,7 +4940,7 @@ _item_queue(Elm_Genlist_Data *sd, ELM_SAFE_FREE(sd->queue_idle_enterer, ecore_idle_enterer_del); _queue_process(sd); } - +*/ // evas_event_thaw(evas_object_evas_get(sd->obj)); // evas_event_thaw_eval(evas_object_evas_get(sd->obj)); evas_object_geometry_get(sd->obj, NULL, NULL, &w, NULL); --
