raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8a101cd8f0d97a890c5ed6176b5dc8236d7423a6

commit 8a101cd8f0d97a890c5ed6176b5dc8236d7423a6
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu May 14 17:35:22 2015 +0900

    efl - add more evlog points
    
    @feature
---
 src/lib/ecore/ecore_anim.c        |  1 +
 src/lib/evas/canvas/evas_render.c | 85 +++++++++++++++++++++++++++++++++------
 2 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 2c772e4..14c4531 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -118,6 +118,7 @@ _do_tick(void)
      {
         animator->just_added = EINA_FALSE;
      }
+   if (animators) eina_evlog("!FRAME", NULL, ecore_loop_time_get(), NULL);
    EINA_INLIST_FOREACH(animators, animator)
      {
         if ((!animator->delete_me) && 
diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index d172cd3..0625f35 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2120,7 +2120,9 @@ evas_render_updates_internal(Evas *eo_e,
               WRN("Mixing render sync as already doing async "
                   "render! Syncing! e=%p [%s]", e,
                   e->engine.module->definition->name);
-              evas_render_rendering_wait(e);
+             eina_evlog("+render_wait", eo_e, 0.0, NULL);
+             evas_render_rendering_wait(e);
+             eina_evlog("-render_wait", eo_e, 0.0, NULL);
           }
      }
 
@@ -2132,7 +2134,9 @@ evas_render_updates_internal(Evas *eo_e,
    if (evas_cserve2_use_get())
       evas_cserve2_dispatch();
 #endif
+   eina_evlog("+render_calc", eo_e, 0.0, NULL);
    evas_call_smarts_calculate(eo_e);
+   eina_evlog("-render_calc", eo_e, 0.0, NULL);
 
    RD(0, "[--- RENDER EVAS (size: %ix%i): %p (eo %p)\n", e->viewport.w, 
e->viewport.h, e, eo_e);
 
@@ -2140,16 +2144,24 @@ evas_render_updates_internal(Evas *eo_e,
 
    /* Check if the modified object mean recalculating every thing */
    if (!e->invalidate)
-     _evas_render_check_pending_objects(&e->pending_objects, eo_e, e);
+     {
+        eina_evlog("+render_pending", eo_e, 0.0, NULL);
+        _evas_render_check_pending_objects(&e->pending_objects, eo_e, e);
+        eina_evlog("-render_pending", eo_e, 0.0, NULL);
+     }
 
    /* phase 1. add extra updates for changed objects */
    if (e->invalidate || e->render_objects.count <= 0)
-     clean_them = _evas_render_phase1_process(e,
-                                              &e->active_objects,
-                                              &e->restack_objects,
-                                              &e->delete_objects,
-                                              &e->render_objects,
-                                              &redraw_all);
+     {
+        eina_evlog("+render_phase1", eo_e, 0.0, NULL);
+        clean_them = _evas_render_phase1_process(e,
+                                                 &e->active_objects,
+                                                 &e->restack_objects,
+                                                 &e->delete_objects,
+                                                 &e->render_objects,
+                                                 &redraw_all);
+        eina_evlog("-render_phase1", eo_e, 0.0, NULL);
+     }
 
    if (!strncmp(e->engine.module->definition->name, "wayland", 7))
      {
@@ -2214,11 +2226,14 @@ evas_render_updates_internal(Evas *eo_e,
         else
           _evas_object_image_video_overlay_hide(eo_obj);
      }
+   eina_evlog("+render_phase1_direct", eo_e, 0.0, NULL);
    /* phase 1.8. pre render for proxy */
    _evas_render_phase1_direct(e, &e->active_objects, &e->restack_objects,
                               &e->delete_objects, &e->render_objects);
+   eina_evlog("-render_phase1_direct", eo_e, 0.0, NULL);
 
    /* phase 2. force updates for restacks */
+   eina_evlog("+render_phase2", eo_e, 0.0, NULL);
    for (i = 0; i < e->restack_objects.count; ++i)
      {
         obj = eina_array_data_get(&e->restack_objects, i);
@@ -2228,16 +2243,20 @@ evas_render_updates_internal(Evas *eo_e,
         _evas_render_prev_cur_clip_cache_add(e, obj);
      }
    OBJS_ARRAY_CLEAN(&e->restack_objects);
+   eina_evlog("-render_phase2", eo_e, 0.0, NULL);
 
    /* phase 3. add exposes */
+   eina_evlog("+render_phase3", eo_e, 0.0, NULL);
    EINA_LIST_FREE(e->damages, r)
      {
         e->engine.func->output_redraws_rect_add(e->engine.data.output,
                                                 r->x, r->y, r->w, r->h);
         eina_rectangle_free(r);
      }
+   eina_evlog("-render_phase3", eo_e, 0.0, NULL);
 
    /* phase 4. framespace, output & viewport changes */
+   eina_evlog("+render_phase4", eo_e, 0.0, NULL);
    if (e->viewport.changed)
      {
         e->engine.func->output_redraws_rect_add(e->engine.data.output,
@@ -2273,8 +2292,10 @@ evas_render_updates_internal(Evas *eo_e,
         e->engine.func->output_redraws_rect_add(e->engine.data.output, 0, 0,
                                                 e->output.w, e->output.h);
      }
+   eina_evlog("-render_phase4", eo_e, 0.0, NULL);
 
    /* phase 5. add obscures */
+   eina_evlog("+render_phase5", eo_e, 0.0, NULL);
    EINA_LIST_FOREACH(e->obscures, ll, r)
      {
         e->engine.func->output_redraws_rect_del(e->engine.data.output,
@@ -2298,17 +2319,20 @@ evas_render_updates_internal(Evas *eo_e,
           /*     obscuring_objects = eina_list_append(obscuring_objects, obj); 
*/
           OBJ_ARRAY_PUSH(&e->obscuring_objects, obj);
      }
+   eina_evlog("-render_phase5", eo_e, 0.0, NULL);
 
    /* save this list */
    /*    obscuring_objects_orig = obscuring_objects; */
    /*    obscuring_objects = NULL; */
    /* phase 6. go thru each update rect and render objects in it*/
+   eina_evlog("+render_phase6", eo_e, 0.0, NULL);
    if (do_draw)
      {
         unsigned int offset = 0;
         int fx = e->framespace.x;
         int fy = e->framespace.y;
 
+        eina_evlog("+render_surface", eo_e, 0.0, NULL);
         while ((surface =
                 e->engine.func->output_redraws_next_update_get
                 (e->engine.data.output,
@@ -2318,6 +2342,7 @@ evas_render_updates_internal(Evas *eo_e,
              int off_x, off_y;
              Render_Updates *ru;
 
+             eina_evlog("+render_setup", eo_e, 0.0, NULL);
              RD(0, "  [--- UPDATE %i %i %ix%i\n", ux, uy, uw, uh);
              if (do_async)
                {
@@ -2378,7 +2403,9 @@ evas_render_updates_internal(Evas *eo_e,
                   e->engine.func->context_clip_unset(e->engine.data.output,
                                                      e->engine.data.context);
                }
+             eina_evlog("-render_setup", eo_e, 0.0, NULL);
 
+             eina_evlog("+render_objects", eo_e, 0.0, NULL);
              /* render all object that intersect with rect */
              for (i = 0; i < e->active_objects.count; ++i)
                {
@@ -2474,20 +2501,24 @@ evas_render_updates_internal(Evas *eo_e,
                          }
                     }
                }
+             eina_evlog("-render_objects", eo_e, 0.0, NULL);
 
              if (!do_async) render_mode = EVAS_RENDER_MODE_SYNC;
              else render_mode = EVAS_RENDER_MODE_ASYNC_INIT;
 
+             eina_evlog("+render_push", eo_e, 0.0, NULL);
              
e->engine.func->output_redraws_next_update_push(e->engine.data.output,
                                                              surface,
                                                              ux, uy, uw, uh,
                                                              render_mode);
+             eina_evlog("-render_push", eo_e, 0.0, NULL);
 
              /* free obscuring objects list */
              OBJS_ARRAY_CLEAN(&e->temporary_objects);
              RD(0, "  ---]\n");
           }
 
+        eina_evlog("+render_output_flush", eo_e, 0.0, NULL);
         if (do_async)
           {
              eo_ref(eo_e);
@@ -2507,15 +2538,21 @@ evas_render_updates_internal(Evas *eo_e,
                                           EVAS_RENDER_MODE_SYNC);
              _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_FLUSH_POST, NULL);
           }
+        eina_evlog("-render_output_flush", eo_e, 0.0, NULL);
+        eina_evlog("-render_surface", eo_e, 0.0, NULL);
      }
+   eina_evlog("-render_phase6", eo_e, 0.0, NULL);
 
+   eina_evlog("+render_clear", eo_e, 0.0, NULL);
    if (!do_async)
      {
         /* clear redraws */
         e->engine.func->output_redraws_clear(e->engine.data.output);
      }
+   eina_evlog("-render_clear", eo_e, 0.0, NULL);
 
    /* and do a post render pass */
+   eina_evlog("+render_post", eo_e, 0.0, NULL);
    if (e->active_objects.count) RD(0, "  [--- POST RENDER\n");
    for (i = 0; i < e->active_objects.count; ++i)
      {
@@ -2542,6 +2579,7 @@ evas_render_updates_internal(Evas *eo_e,
            else if (obj->delete_me != 0) obj->delete_me++;
          */
      }
+   eina_evlog("-render_post", eo_e, 0.0, NULL);
    if (e->active_objects.count) RD(0, "  ---]\n");
 
    /* free our obscuring object list */
@@ -2772,15 +2810,26 @@ evas_render_updates_free(Eina_List *updates)
 EOLIAN Eina_Bool
 _evas_canvas_render2(Eo *eo_e, Evas_Public_Data *e)
 {
-   return _evas_render2(eo_e, e);
+   Eina_Bool ret;
+
+   eina_evlog("+render2", eo_e, 0.0, NULL);
+   ret = _evas_render2(eo_e, e);
+   eina_evlog("-render2", eo_e, 0.0, NULL);
+   return ret;
 }
 
 EOLIAN Eina_Bool
 _evas_canvas_render_async(Eo *eo_e, Evas_Public_Data *e)
 {
+   Eina_Bool ret;
+   eina_evlog("+render_block", eo_e, 0.0, NULL);
    evas_canvas_async_block(e);
-   return evas_render_updates_internal(eo_e, 1, 1, evas_render_pipe_wakeup,
-                                       e, EINA_TRUE);
+   eina_evlog("-render_block", eo_e, 0.0, NULL);
+   eina_evlog("+render", eo_e, 0.0, NULL);
+   ret = evas_render_updates_internal(eo_e, 1, 1, evas_render_pipe_wakeup,
+                                      e, EINA_TRUE);
+   eina_evlog("-render", eo_e, 0.0, NULL);
+   return ret;
 }
 
 static Eina_List *
@@ -2807,17 +2856,27 @@ evas_render_updates_internal_wait(Evas *eo_e,
 EOLIAN Eina_List*
 _evas_canvas_render_updates(Eo *eo_e, Evas_Public_Data *e)
 {
+   Eina_List *ret;
    if (!e->changed) return NULL;
+   eina_evlog("+render_block", eo_e, 0.0, NULL);
    evas_canvas_async_block(e);
-   return evas_render_updates_internal_wait(eo_e, 1, 1);
+   eina_evlog("-render_block", eo_e, 0.0, NULL);
+   eina_evlog("+render", eo_e, 0.0, NULL);
+   ret = evas_render_updates_internal_wait(eo_e, 1, 1);
+   eina_evlog("-render", eo_e, 0.0, NULL);
+   return ret;
 }
 
 EOLIAN void
 _evas_canvas_render(Eo *eo_e, Evas_Public_Data *e)
 {
    if (!e->changed) return;
+   eina_evlog("+render_block", eo_e, 0.0, NULL);
    evas_canvas_async_block(e);
+   eina_evlog("-render_block", eo_e, 0.0, NULL);
+   eina_evlog("+render", eo_e, 0.0, NULL);
    evas_render_updates_internal_wait(eo_e, 0, 1);
+   eina_evlog("-render", eo_e, 0.0, NULL);
 }
 
 EOLIAN void
@@ -2864,12 +2923,14 @@ _evas_canvas_render_idle_flush(Eo *eo_e, 
Evas_Public_Data *e)
 EOLIAN void
 _evas_canvas_sync(Eo *eo_e, Evas_Public_Data *e)
 {
+   eina_evlog("+render_sync", eo_e, 0.0, NULL);
    if (e->render2) _evas_render2_sync(eo_e, e);
    else
      {
         evas_canvas_async_block(e);
         evas_render_rendering_wait(e);
      }
+   eina_evlog("-render_sync", eo_e, 0.0, NULL);
 }
 
 void

-- 


Reply via email to