efl/src/lib/evas
Vostokov Sergey 6a5e72d37b evas - Clip mark performance improvement
stable release - cherry-pick me!

We propose a patch that reduces graph traversal work in
evas_object_child_map_across_mark(). It fixes a few particular
slowdowns around Tizen applications, including 0.6 seconds slowdown.

evas_object_child_map_across_mark() does not seem to need to
recursively call itself on the same object many times. Yet we have
noticed that in some scenarios it repeatedly traverses the same
subtrees of objects over and over again, whenever there is more than
one way of reaching these subtrees. In the production issue mentioned
above, certain elm_object_part_content_set() call results in millions
of recursive calls of evas_object_child_map_across_mark(), taking
~0.6sec total.

We propose to allocate a hash table during top-level call to store all
objects visited, and return from sub-calls instantly whenever we are
called over an object we already visited.
2013-12-05 21:08:35 +09:00
..
cache evas: Use Eina_Spinlock for Evas_Scalecache, Evas_Async_Events and Image_Entry. 2013-10-11 11:08:17 +09:00
cache2 evas/cserve2: Prevent another infinite loop (flush) 2013-10-30 19:48:17 +09:00
canvas evas - Clip mark performance improvement 2013-12-05 21:08:35 +09:00
common evas - fix overdraw + too many rects problem found in some expedite tests 2013-12-05 20:04:26 +09:00
cserve2 evas/cserve2: Fix interrupt on select in edje_cc 2013-11-29 15:47:57 +09:00
file evas: add JPEG 2000 loader. 2013-10-01 16:38:44 +09:00
include evas - code refactoring. 2013-11-28 21:24:11 +09:00
Evas.h evas: cleanup headers. Should work on windows. 2013-06-26 11:24:29 +09:00
Evas_Common.h alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Evas_Eo.h evas - pre/post render events are for canvas not object 2013-12-01 12:50:45 +09:00
Evas_GL.h efl/evas: proper glShaderSource() definition as glext.h 2013-01-05 15:55:58 +00:00
Evas_Legacy.h evas - table - protect against invalid cell/row values (16bit overflow) 2013-11-20 18:07:17 +09:00
Evas_Loader.h evas: try to clarify licensing for people that are going to make their own Evas loader. 2013-11-18 19:21:06 +09:00
main.c Remove read code. 2013-11-18 12:52:38 +00:00