Nice one....just worry that this will affect the First draw... If I am wrong, happy to admit that ;)
Keeping the region is good ... but let's not lose the initial draw (if it can be helped). Region 1 is sort of "initial show" ;) dh On 30/01/14 17:12, Mike Blumenkrantz wrote: > discomfitor pushed a commit to branch master. > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=752c22048274def4f1f40a2f2d5b1bdb3e64d94b > > commit 752c22048274def4f1f40a2f2d5b1bdb3e64d94b > Author: Mike Blumenkrantz <[email protected]> > Date: Thu Jan 30 11:54:06 2014 -0500 > > redo X first_damage logic > > the main idea here is to not DRAW at the time of the first damage to > avoid overdraw, but ignoring the fact that the region is ready to be drawn > can be problematic when the drawing eventually occurs. best choice here is to > keep the region but not the render update > --- > src/bin/e_comp_x.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c > index bbb697c..82b1f68 100644 > --- a/src/bin/e_comp_x.c > +++ b/src/bin/e_comp_x.c > @@ -2495,19 +2495,17 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type > EINA_UNUSED, Ecore_X_Event_Dam > ecore_x_damage_subtract(ec->comp_data->damage, 0, parts); > ecore_x_region_free(parts); > } > - if (!ec->comp_data->first_damage) > - { > - ec->comp_data->first_damage = 1; > - if (!ec->re_manage) > - return ECORE_CALLBACK_RENEW; > - } > - > - E_FREE_FUNC(ec->comp_data->first_draw_delay, ecore_timer_del); > //WRN("DAMAGE %p: %dx%d", ec, ev->area.width, ev->area.height); > + > if (ec->comp->nocomp) > e_pixmap_dirty(ec->pixmap); > else > e_comp_object_damage(ec->frame, ev->area.x, ev->area.y, > ev->area.width, ev->area.height); > + if ((!ec->re_manage) && (!ec->comp_data->first_damage)) > + e_comp_object_render_update_del(ec->frame); > + else > + E_FREE_FUNC(ec->comp_data->first_draw_delay, ecore_timer_del); > + ec->comp_data->first_damage = 1; > return ECORE_CALLBACK_RENEW; > } > > ------------------------------------------------------------------------------ WatchGuard Dimension instantly turns raw network data into actionable security intelligence. It gives you real-time visual feedback on key security issues and trends. Skip the complicated setup - simply import a virtual appliance and go from zero to informed in seconds. http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
