On Thu, 30 Jan 2014 17:54:24 +0000 Chris Michael <devilho...@comcast.net> said:
> 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" ;) and i guarantee you... it does affect first draw now. all the dropdown menus from app i see now are blank empty space indefinitely UNTIL i mouseover them to force a redraw. this is all a matter of race/timing so different people will see different results based on many factors (cpu core count, clock freq, cpu speed, toolkit, app, drivers etc.) but... this does cause a problem, so by design it has flaws. > 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 <zm...@samsung.com> > > 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 > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel