jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=98147ce0976116c87614c34a2f62f8e2d8d20f8c

commit 98147ce0976116c87614c34a2f62f8e2d8d20f8c
Author: jiin.moon <jiin.m...@samsung.com>
Date:   Wed Sep 27 17:28:59 2017 +0900

    evas : Improve the performance by reusing map surface
    
    Summary:
    If object just has update of map point without other changes included child,
    the map surface can be reused.
    
    Reviewers: jpeg, cedric
    
    Differential Revision: https://phab.enlightenment.org/D5181
---
 src/lib/evas/canvas/evas_render.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index fc6f8b15ff..3f1895de2d 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1872,7 +1872,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
    if (_evas_render_has_map(obj) && !_evas_render_can_map(obj))
      {
         int sw, sh;
-        Eina_Bool changed = EINA_FALSE, rendered = EINA_FALSE;
+        Eina_Bool changed = EINA_FALSE, rendered = EINA_FALSE, pchanged = 
EINA_FALSE;
 
         clean_them = EINA_TRUE;
 
@@ -1881,7 +1881,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
         RD(level, "  surf size: %ix%i\n", sw, sh);
         if ((sw <= 0) || (sh <= 0)) goto end;
 
-        changed = evas_object_map_update(eo_obj, off_x, off_y, sw, sh, sw, sh);
+        pchanged = evas_object_map_update(eo_obj, off_x, off_y, sw, sh, sw, 
sh);
 
         if (obj->map->surface)
           {
@@ -1919,7 +1919,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
         /* mark the old map as invalid, so later we don't reuse it as a
          * cache. */
-        if (changed && obj->map->prev.map)
+        if (pchanged && obj->map->prev.map)
           {
              EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, 
Evas_Object_Map_Data, map_write)
                map_write->prev.valid_map = EINA_FALSE;

-- 


Reply via email to