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);

-- 


Reply via email to