Re: [E-devel] [EGIT] [core/enlightenment] master 15/17: redo X first_damage logic
On Thu, 30 Jan 2014 17:54:24 + Chris Michael said: > Nice onejust 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 > > 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
Re: [E-devel] [EGIT] [core/enlightenment] master 15/17: redo X first_damage logic
Ok. If there is no "timing" issue of the first draw, then my concerns are unwarranted. Fair enough. Just trying to be sure you have considered All possible options & consequences ;) Guess I am just fishing for some reassurance that this is not going to affect any initial "showing" of the app... Ignoring a "first draw" could (potentially) be a disaster If you say it does not, then (for now) I'll take you're word for it ;) (no offence intended in any way...just wanting the future to be bright) dh On 30/01/14 18:02, Michael Blumenkrantz wrote: > Given that this does not affect the timing of the draw, I'm not sure > how you are arriving at this worry. > > On Thu, 30 Jan 2014 17:54:24 + Chris Michael > wrote: > >> Nice onejust 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 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(-) >>> > > -- 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
Re: [E-devel] [EGIT] [core/enlightenment] master 15/17: redo X first_damage logic
Given that this does not affect the timing of the draw, I'm not sure how you are arriving at this worry. On Thu, 30 Jan 2014 17:54:24 + Chris Michael wrote: > Nice onejust 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 > > 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(-) > > -- 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
Re: [E-devel] [EGIT] [core/enlightenment] master 15/17: redo X first_damage logic
Nice onejust 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 > 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