User Details
- User Since
- Dec 22 2013, 8:52 PM (369 w, 1 h)
- Availability
- Available
Aug 4 2020
Patch from Raster fixed the performance issue. hence closing.
Jun 16 2020
updated review comment.
have also updated this patch for last review comment. please check if this is what you intended.
updated review comment
updated review comment.
Jun 8 2020
thanks
Thanks for the patch . Yup this fix the the leak.
@ali ,
I didn't know evas_object_textblock_style_set() only keeps the reference to the raw pointer.
Jun 7 2020
Jun 4 2020
Jun 3 2020
Jun 2 2020
Logs:
Jun 1 2020
updated
May 31 2020
properly deallocate the custom command node.
fixed one more leak
May 28 2020
the item class is not freed for some test cases . added elm_genlist_item_class_free() for those cases . and incase if we are keeping a ref then unref in the clear_cb().
@raster ,
Could you please review this when you have time . I don't know if this is the correct fix but the memory leak shows up in address sanitizer.
May 27 2020
in _eo_key_generic_direct_del() we remove the node from the ext->generic_data . Because of call_free is false we never call _eo_generic_data_node_free() on the node hence the leak.
May 26 2020
May 25 2020
May 24 2020
May 20 2020
May 7 2020
May 6 2020
Apr 27 2020
Mar 12 2020
and with this patch same use case it takes around 80ms mostly due to the Hash Search of Efl_Provider which is same for both cases. ( anyway hash iterator is another story )
Mar 11 2020
Feb 24 2020
indeed solves the issue.
Jan 20 2020
Nov 5 2019
Oct 7 2019
The change to be opaque should really happen once. Only if you switch back and forth for each frame will you continuously allocate memory. Basically you fallback to the case where you do not have any cow.
As I am running an animation (using lottie to render to the buffer ) so each frame I update the buffer (part of evas_image) with below Apis.
Oct 3 2019
@cedric ,
Regarding my use case , I am updating image data in every frame by calling evas_object_image_data_get() and evas_object_image_data_set() api . I don't know how Image object can figure out if the content is opaque or not if user has set some pixel data (as it will be expensive to go through each pixel to figure it out) . So maybe we can modify the is_opaque() to return false when user has set some pixel data.
Oct 1 2019
@cedric ,
What do you think ?
Sep 4 2019
Thanks for the detailed explanation after reading it got little bit more understanding of the current issue with edje memory consumption issue.
Sep 1 2019
If you guys knows the history of this code, please let me know your opinion.
Aug 31 2019
Aug 30 2019
Taken a Snapshot of Vtable array (after flattening of function array. ) by just printing the content of chain array (0 - not filled , 1 means filled)
Before Patch and after patch the slots that are filled are same. attached the log
static inline void _vtable_chain_merge(Dich_Chain1 *dst, const Dich_Chain1 *src) { size_t j; const op_type_funcs *sf = src->chain2->funcs; op_type_funcs *df = dst->chain2->funcs;
Note for future review comment.
Aug 29 2019
Test Done :
efl eo test suite passed. elementary_test example works.
updated the patch so that it will be a better match to the mental model.
Rest of the topic will discuss later.