Re: [E-devel] [EGIT] [core/enlightenment] master 15/17: redo X first_damage logic

2014-01-30 Thread Chris Michael
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 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=123612991iu=/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

2014-01-30 Thread Michael Blumenkrantz
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 devilho...@comcast.net 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 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(-)
 


--
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=123612991iu=/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

2014-01-30 Thread Chris Michael
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
 devilho...@comcast.net 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 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(-)





--
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=123612991iu=/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

2014-01-30 Thread The Rasterman
On Thu, 30 Jan 2014 17:54:24 + Chris Michael devilho...@comcast.net 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 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=123612991iu=/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=123612991iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel