discomfitor pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=46114f01c41f2508bef920848503d49d335ee1f7
commit 46114f01c41f2508bef920848503d49d335ee1f7 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Tue Dec 15 17:21:42 2015 -0500 evas: do not unset/delete master clip after every frame this is not ideal since it triggers a client-side rerender of every object which was clipped to the master clip (double render) and then this ends up forcing the server to rerender the same area twice as well not only that, it causes all surface damages to to be the size of the entire window - framespace for every frame @fix --- src/lib/evas/canvas/evas_render.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 7ce7384..c151ec7 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -2882,26 +2882,6 @@ evas_render_updates_internal(Evas *eo_e, } } - if (!strncmp(e->engine.module->definition->name, "wayland", 7)) - { - /* unclip objects from master clip */ - for (i = 0; i < e->render_objects.count; ++i) - { - obj = eina_array_data_get(&e->render_objects, i); - if (obj->is_frame) continue; - if (obj->object == e->framespace.clip) continue; - - if (evas_object_clip_get(obj->object) == e->framespace.clip) - { - /* unclip this object from the master clip */ - evas_object_clip_unset(obj->object); - } - } - - /* delete master clip */ - evas_object_del(e->framespace.clip); - e->framespace.clip = NULL; - } e->changed = EINA_FALSE; e->viewport.changed = EINA_FALSE; --