Re: [e-users] unusual enlightenment high CPU usage

2016-03-10 Thread The Rasterman
On Wed, 17 Feb 2016 23:42:36 +0100 (CET) Pavel Reznicek
 said:


nothing is going to change here until we have object auto-buffering (and
partial updates of auto-buffered content). this has been explained before as to
how the compositor canvas works - it is NOT like other compositors. our
compositor canvas has everything broken down into primitives. every letter you
see in a titlebar or on your shelf is 2 triangles. as opposed to elsewhere
where it's one big buffer for the window including titlebar. every little
primitive in the shelf is groken down. we're generating 100's and 1000's of
triangles per frame.

> Hi,
> 
>I have a similar problem (intel graphics). I consider the arguments 
> above about the way how compositor work. However, would't then such a 
> behaviour appear also in other environments with compositing ? I am also 
> running xfce4 with compositing effects (xfwm4) enabled, but I don't see 
> anyhthing similar to what in e20 - there it is just the particular 
> application that eats CPU, not the window manager.
> 
> One thing I have noticed is that there isn't any noticable change in e20 
> performance when I switch the compositor from OpenGL to Software 
> rendering.
> 
> In case it may help understand the problem, here is top (most two CPU 
> consuming processes) and perf comparison for e20 and xfce when running 
> glxgears.
> 
> top in xfce:CPU  MEM
> 7281 root 20 0 274892 47584 34592 S 4.0  0.6   0:01.82 Xorg
> 7756 user 20 0 118408 15956 10296 S 2.0  0.2   0:00.43 glxgears
> 
> top in e20: CPU  MEM
> 4569 user 20 0 1087992 140764 58476 R   21.5  1.8   1:55.95 enlightenment
> 4455 root 20 0  317724  53852 38384 S3.6  0.7   0:31.28 Xorg
> 
> perf in xfce (shortened):
> 28.25% swapper [kernel.kallsyms] [k] intel_idle
> 1.10% gkrellm libc-2.21.so [.] _IO_vfscanf
> 1.05% Xorg [kernel.kallsyms] [k] _raw_spin_lock_irqsave
> 0.99% Xorg [kernel.kallsyms] [k] sock_poll
> 0.99% Xorg [kernel.kallsyms] [k] __fget
> 0.70% Xorg [kernel.kallsyms] [k] unix_poll
> 0.62% Xorg [kernel.kallsyms] [k] fput
> 0.62% gkrellm [kernel.kallsyms] [k] do_task_stat
> 0.60% Xorg [kernel.kallsyms] [k] do_select
> 0.58% Xorg Xorg [.] ResourceClientBits
> 0.49% swapper [kernel.kallsyms] [k] menu_select
> 0.46% Xorg Xorg [.] WaitForSomething
> 0.45% Xorg Xorg [.] dixLookupResourceByType
> 0.41% Xorg [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
> 0.39% glxgears [kernel.kallsyms] [k] i915_parse_cmds
> 
> perf in e20:
> 16.61% swapper [kernel.kallsyms] [k] intel_idle
> 2.43% enlightenment libevas.so.1.17.0 [.] 
> _evas_render_phase1_object_process
> 1.78% enlightenment libpthread-2.21.so [.] __pthread_mutex_unlock_usercnt
> 1.71% enlightenment libpthread-2.21.so [.] pthread_mutex_lock
> 1.41% enlightenment libc-2.21.so [.] _int_malloc
> 0.92% enlightenment libevas.so.1.17.0 [.] 
> evas_render_updates_internal_loop
> 0.84% enlightenment libc-2.21.so [.] _int_free
> 0.77% enlightenment libevas.so.1.17.0 [.] evas_render_updates_internal
> 0.64% enlightenment module.so [.] evas_gl_common_context_image_push
> 0.63% enlightenment libeo.so.1.17.0 [.] eo_data_scope_get
> 0.52% enlightenment module.so [.] evas_gl_common_context_font_push
> 0.42% enlightenment [kernel.kallsyms] [k] i915_parse_cmds
> 0.41% enlightenment [kernel.kallsyms] [k] i915_gem_pwrite_ioctl
> 0.38% skype libglib-2.0.so.0.4600.2 [.] g_mutex_lock
> 0.37% skype libglib-2.0.so.0.4600.2 [.] g_mutex_unlock
> 0.36% enlightenment libeo.so.1.17.0 [.] eo_data_xunref_internal
> 0.35% enlightenment [kernel.kallsyms] [k] copy_user_enhanced_fast_string
> 0.33% enlightenment [kernel.kallsyms] [k] drm_gem_object_lookup
> 0.33% enlightenment module.so [.] _evas_gl_common_context_push
> 0.33% enlightenment libc-2.21.so [.] __memcpy_sse2_unaligned
> 0.33% enlightenment [kernel.kallsyms] [k] i915_gem_madvise_ioctl
> 0.31% Xorg [kernel.kallsyms] [k] __fget
> 0.30% enlightenment libevas.so.1.17.0 [.] _evas_object_clip_prev_reset
> 0.30% enlightenment libc-2.21.so [.] __libc_calloc
> 0.30% Xorg [kernel.kallsyms] [k] _raw_spin_lock_irqsave
> 0.30% enlightenment libevas.so.1.17.0 [.] _evas_image_render
> 0.29% enlightenment libevas.so.1.17.0 [.] evas_render_mapped
> 0.29% Xorg [kernel.kallsyms] [k] sock_poll
> 0.28% gkrellm libc-2.21.so [.] _IO_vfscanf
> 0.27% enlightenment [kernel.kallsyms] [k] drm_ioctl
> 0.27% enlightenment module.so [.] _evas_gl_common_image_push
> 0.27% enlightenment libc-2.21.so [.] __memcmp_sse4_1
> 0.26% enlightenment libeo.so.1.17.0 [.] eo_isa
> 0.26% enlightenment libevas.so.1.17.0 [.] evas_object_smart_changed_get
> 0.25% enlightenment libevas.so.1.17.0 [.] evas_common_font_rgba_draw
> 0.24% enlightenment libeo.so.1.17.0 [.] eo_data_xref_internal
> 0.23% Xorg [kernel.kallsyms] [k] unix_poll
> 0.23% enlightenment module.so [.] evas_gl_common_shader_program_get
> 0.22% enlightenment libc-2.21.so [.] malloc_consolidate
> 0.21% skype [kernel.kallsyms] [k] 

Re: [e-users] unusual enlightenment high CPU usage

2016-02-17 Thread Toan Pham
Here are some random perf profiling results of e20 while running glxgears,
firefox, e20, and xorg.
As you can see, CPU usage is very high among the first 3 processes, while
glxgears uses the least.


 PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
 2029 toan  23   3  916008 455784  82304 R  26.5 15.6   2:30.99 firefox
 1407 toan  20   0  274796  72460  42608 S  25.2  2.5   5:27.64
enlightenment
 1160 root  20   0   74944  22396  12252 S  19.2  0.8   1:47.58 Xorg
 1753 toan  23   3   34652  15332   8204 S   2.0  0.5   0:26.72 glxgears



# Here:  execution of Eanimator-vsync, which occurs in kernel space,
accounted for 33% of the total latency.
# e20 + efl accounted for the remaining 60%.
Samples: 102  of event 'cycles', Event count (approx.): 599054751145
Overhead  Command  Shared Object  Symbol
  18.72%  enlightenmentmodule.so  [.] 0xd480
  15.62%  enlightenmentlibevas.so.1.17.0  [.]
evas_common_tilebuf_add_redraw
  15.25%  enlightenmentlibeo.so.1.17.0[.] eo_data_scope_get
  13.38%  Eanimator-vsync  [kernel.kallsyms]  [k] rb_erase
  12.57%  Eanimator-vsync  [kernel.kallsyms]  [k] fsnotify
  12.04%  Eanimator-vsync  [kernel.kallsyms]  [k] dequeue_task_fair
   5.20%  Eanimator-vsync  libeina.so.1.17.0  [.] 0x0004dfb5
   4.58%  enlightenmentmodule.so  [.] 0x0001522c
   0.09%  enlightenmentlibeo.so.1.17.0[.]
eo_data_xunref_internal
   0.09%  enlightenmentlibeo.so.1.17.0[.] eo_data_xref_internal
   0.08%  enlightenment[kernel.kallsyms]  [k]
__gen6_gt_force_wake_get
   0.06%  enlightenmentlibevas.so.1.17.0  [.] 0x000c8050


# This random sample shows that most of the latency occurred at the device
driver level.
# However, 22% was accounted from e20's module.
Samples: 80  of event 'cycles', Event count (approx.): 518514944228
Overhead  Command  Shared ObjectSymbol
  21.89%  enlightenmentmodule.so[.] 0x6e03
  20.84%  enlightenmenti965_dri.so  [.] 0x000d4fe6
  15.20%  enlightenmenti965_dri.so  [.] 0x000ef281
  14.17%  Eanimator-vsync  [kernel.kallsyms][k] update_sd_lb_stats
   9.74%  Eanimator-vsync  [kernel.kallsyms][k] __sched_text_start
   5.98%  Eanimator-vsync  [kernel.kallsyms][k]
__copy_from_user_ll_nozero
   5.74%  enlightenment[kernel.kallsyms][k] drm_ioctl
   4.35%  Eanimator-vsync  [kernel.kallsyms][k] atomic64_read_cx8
   0.10%  enlightenmentlibevas.so.1.17.0[.] 0x00034b0f
   0.07%  enlightenment[kernel.kallsyms][k] x86_pmu_disable
   0.07%  enlightenmentlibeina.so.1.17.0[.]
eina_hash_find_by_hash


# Similar to the above sample; however efl seems to be the offender this
time.
# Question: is there anyway we can minimize the frequency of vsync?
Samples: 96  of event 'cycles', Event count (approx.): 694200573028
Overhead  Command  Shared Object  Symbol
  17.54%  enlightenmenti965_dri.so[.] 0x003eb52c
  16.72%  enlightenmentlibevas.so.1.17.0  [.]
evas_common_font_draw_cb
  16.43%  Eanimator-vsync  [kernel.kallsyms]  [k] __calc_delta
  12.79%  enlightenmentlibevas.so.1.17.0  [.] 0x000c5080
  11.09%  enlightenmentlibeo.so.1.17.0[.] eo_data_scope_get
  10.52%  Eanimator-vsync  [kernel.kallsyms]  [k] __sched_text_start
  10.03%  Eanimator-vsync  [kernel.kallsyms]  [k] idle_cpu
   2.81%  Eanimator-vsync  libecore.so.1.17.0 [.] ecore_thread_feedback
   0.11%  enlightenmentlibevas.so.1.17.0  [.] 0x000c17f6
   0.11%  enlightenmentlibc-2.21.so   [.] _int_free



# High cpu usage from compositing, ie) copying and freeing of evas objects
Samples: 75  of event 'cycles', Event count (approx.): 510537695627
Overhead  Command  Shared Object Symbol
  21.39%  enlightenmentlibevas.so.1.17.0 [.] evas_obj_image_data_get
  20.04%  Eanimator-vsync  [kernel.kallsyms] [k]
copy_page_from_iter_iovec
  19.46%  enlightenmenti965_dri.so   [.] 0x003ec85c
  15.33%  enlightenmentlibeo.so.1.17.0   [.] eo_data_xunref_internal
  10.35%  Eanimator-vsync  libecore_x.so.1.17.0  [.] 0x00016013
   8.36%  Eanimator-vsync  [kernel.kallsyms] [k] update_curr
   2.88%  enlightenment[kernel.kallsyms] [k] del_timer
   0.09%  enlightenmenti965_dri.so   [.] 0x00317d55
--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
___
enlightenment-users mailing list

Re: [e-users] unusual enlightenment high CPU usage

2016-02-17 Thread Pavel Reznicek

Hi,

   I have a similar problem (intel graphics). I consider the arguments 
above about the way how compositor work. However, would't then such a 
behaviour appear also in other environments with compositing ? I am also 
running xfce4 with compositing effects (xfwm4) enabled, but I don't see 
anyhthing similar to what in e20 - there it is just the particular 
application that eats CPU, not the window manager.

One thing I have noticed is that there isn't any noticable change in e20 
performance when I switch the compositor from OpenGL to Software 
rendering.

In case it may help understand the problem, here is top (most two CPU 
consuming processes) and perf comparison for e20 and xfce when running 
glxgears.

top in xfce:CPU  MEM
7281 root 20 0 274892 47584 34592 S 4.0  0.6   0:01.82 Xorg
7756 user 20 0 118408 15956 10296 S 2.0  0.2   0:00.43 glxgears

top in e20: CPU  MEM
4569 user 20 0 1087992 140764 58476 R   21.5  1.8   1:55.95 enlightenment
4455 root 20 0  317724  53852 38384 S3.6  0.7   0:31.28 Xorg

perf in xfce (shortened):
28.25% swapper [kernel.kallsyms] [k] intel_idle
1.10% gkrellm libc-2.21.so [.] _IO_vfscanf
1.05% Xorg [kernel.kallsyms] [k] _raw_spin_lock_irqsave
0.99% Xorg [kernel.kallsyms] [k] sock_poll
0.99% Xorg [kernel.kallsyms] [k] __fget
0.70% Xorg [kernel.kallsyms] [k] unix_poll
0.62% Xorg [kernel.kallsyms] [k] fput
0.62% gkrellm [kernel.kallsyms] [k] do_task_stat
0.60% Xorg [kernel.kallsyms] [k] do_select
0.58% Xorg Xorg [.] ResourceClientBits
0.49% swapper [kernel.kallsyms] [k] menu_select
0.46% Xorg Xorg [.] WaitForSomething
0.45% Xorg Xorg [.] dixLookupResourceByType
0.41% Xorg [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
0.39% glxgears [kernel.kallsyms] [k] i915_parse_cmds

perf in e20:
16.61% swapper [kernel.kallsyms] [k] intel_idle
2.43% enlightenment libevas.so.1.17.0 [.] 
_evas_render_phase1_object_process
1.78% enlightenment libpthread-2.21.so [.] __pthread_mutex_unlock_usercnt
1.71% enlightenment libpthread-2.21.so [.] pthread_mutex_lock
1.41% enlightenment libc-2.21.so [.] _int_malloc
0.92% enlightenment libevas.so.1.17.0 [.] 
evas_render_updates_internal_loop
0.84% enlightenment libc-2.21.so [.] _int_free
0.77% enlightenment libevas.so.1.17.0 [.] evas_render_updates_internal
0.64% enlightenment module.so [.] evas_gl_common_context_image_push
0.63% enlightenment libeo.so.1.17.0 [.] eo_data_scope_get
0.52% enlightenment module.so [.] evas_gl_common_context_font_push
0.42% enlightenment [kernel.kallsyms] [k] i915_parse_cmds
0.41% enlightenment [kernel.kallsyms] [k] i915_gem_pwrite_ioctl
0.38% skype libglib-2.0.so.0.4600.2 [.] g_mutex_lock
0.37% skype libglib-2.0.so.0.4600.2 [.] g_mutex_unlock
0.36% enlightenment libeo.so.1.17.0 [.] eo_data_xunref_internal
0.35% enlightenment [kernel.kallsyms] [k] copy_user_enhanced_fast_string
0.33% enlightenment [kernel.kallsyms] [k] drm_gem_object_lookup
0.33% enlightenment module.so [.] _evas_gl_common_context_push
0.33% enlightenment libc-2.21.so [.] __memcpy_sse2_unaligned
0.33% enlightenment [kernel.kallsyms] [k] i915_gem_madvise_ioctl
0.31% Xorg [kernel.kallsyms] [k] __fget
0.30% enlightenment libevas.so.1.17.0 [.] _evas_object_clip_prev_reset
0.30% enlightenment libc-2.21.so [.] __libc_calloc
0.30% Xorg [kernel.kallsyms] [k] _raw_spin_lock_irqsave
0.30% enlightenment libevas.so.1.17.0 [.] _evas_image_render
0.29% enlightenment libevas.so.1.17.0 [.] evas_render_mapped
0.29% Xorg [kernel.kallsyms] [k] sock_poll
0.28% gkrellm libc-2.21.so [.] _IO_vfscanf
0.27% enlightenment [kernel.kallsyms] [k] drm_ioctl
0.27% enlightenment module.so [.] _evas_gl_common_image_push
0.27% enlightenment libc-2.21.so [.] __memcmp_sse4_1
0.26% enlightenment libeo.so.1.17.0 [.] eo_isa
0.26% enlightenment libevas.so.1.17.0 [.] evas_object_smart_changed_get
0.25% enlightenment libevas.so.1.17.0 [.] evas_common_font_rgba_draw
0.24% enlightenment libeo.so.1.17.0 [.] eo_data_xref_internal
0.23% Xorg [kernel.kallsyms] [k] unix_poll
0.23% enlightenment module.so [.] evas_gl_common_shader_program_get
0.22% enlightenment libc-2.21.so [.] malloc_consolidate
0.21% skype [kernel.kallsyms] [k] __fget
0.21% enlightenment libdrm_intel.so.1.0.0 [.] 0x633e

Pavel

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-12-21 Thread The Rasterman
On Mon, 21 Dec 2015 12:14:21 -0500 Toan Pham  said:

> ​>>> "it seems this may have something to do with specific cases for the
> nvidia
> driver. it does this on my work desktop (uses 30-40%cpu) but at home its
> 5-8%.
> both nvidia drivers. both gtx970's, one with 3 screens, one with 2."
> 
> Sorry to bring this topic up again, but I am bothered by the fact that my
> window manager and firefox use 80% of my CPU when they dont do anything.
> If you have time, can you profile your PC at work or perhaps change the
> nvidia driver to match the driver version of the home workstation and see
> if the CPU usage goes down?  I am sure other users are affected by the high
> CPU load too, that's why I want to understand it more.
> 
> In addition, I plan to build a top-of the line PC for work and just to run
> 'e' efficiently.  But before doing that, I would like to understand the
> bottle neck if it is software or hardware related If the bottle neck is
> found in software video drivers (intel/radeon/nvidia, all of which I have
> tried), then let's understand why 'e' does not run efficiently with certain
> drivers.  In the age of today's computing, the technological focus is no
> longer on speed but rather efficiency.work per unit second per unit
> wattaka output power / input power.  I believe it is always good to
> improve the efficiency ratio... because it will make this world a little
> greener :-)
> 
> TP

why don't you use perf and find out? get profiling info. to some extent it will
be related to the fact that all geometry has to go through evas (that includes
all the little details in the shelf etc.)

every update involves a render. obviously firefox is doing something, not
nothing. if e is consuming cpu - then it too is doing something. likely
rendering - and likely because firefox is rendering too. if a client updates,
then the compositor has to update too.

-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-12-21 Thread Toan Pham
​>>> "it seems this may have something to do with specific cases for the
nvidia
driver. it does this on my work desktop (uses 30-40%cpu) but at home its
5-8%.
both nvidia drivers. both gtx970's, one with 3 screens, one with 2."

Sorry to bring this topic up again, but I am bothered by the fact that my
window manager and firefox use 80% of my CPU when they dont do anything.
If you have time, can you profile your PC at work or perhaps change the
nvidia driver to match the driver version of the home workstation and see
if the CPU usage goes down?  I am sure other users are affected by the high
CPU load too, that's why I want to understand it more.

In addition, I plan to build a top-of the line PC for work and just to run
'e' efficiently.  But before doing that, I would like to understand the
bottle neck if it is software or hardware related If the bottle neck is
found in software video drivers (intel/radeon/nvidia, all of which I have
tried), then let's understand why 'e' does not run efficiently with certain
drivers.  In the age of today's computing, the technological focus is no
longer on speed but rather efficiency.work per unit second per unit
wattaka output power / input power.  I believe it is always good to
improve the efficiency ratio... because it will make this world a little
greener :-)

TP
--
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-15 Thread The Rasterman
On Wed, 15 Jul 2015 09:55:46 -0400 Toan Pham tpham3...@gmail.com said:

 ​ not enough info - do you have a gl using app runing on another desktop?
 
 No.

perf top. it seem your x server is going nutty as well.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-15 Thread Toan Pham
​ not enough info - do you have a gl using app runing on another desktop?

No.
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-14 Thread The Rasterman
On Mon, 13 Jul 2015 22:29:41 -0400 Toan Pham tpham3...@gmail.com said:

  i see 5-10%.
  do you perhaps have texture from pixmap disabled? (advanced compositor
 settings
 under engine).
 
 Here is a video recording of my E19 desktop with i915 aiglx (hardware
 acceleration).  The graphic device is an intel HD3000 integrated on the i7
 SandyBridge CPU Core.  Texture from pixmap is enabled.

you said it was nvidia? it's intel? or this is a different machine?

intel can't do partial render. even though intel were behind the buffer age
extension, their drivers don't support it. nvidia do. :)

you can reduce the cutout limit with an env var set before e runs:

export EVAS_GL_CUTOUT_MAX=100

for example (the default is 512). reduce it as desired


 http://git.toanpham.com/archive/e19_cpu.mkv​
 
 
 
 Here is the result of perf top while glxgears and firefox are running.
 As you can see the top offender is libevas.  I am still not sure why the
 CPU usage is so high!
 
8.61%  libevas.so.1.14.99[.] _evas_render_cutout_add.part.16
7.11%  libevas.so.1.14.99[.] evas_render_updates_internal
3.55%  libevas.so.1.14.99[.]
 evas_common_draw_context_cutout_split
3.01%  libevas.so.1.14.99[.] evas_common_draw_context_add_cutout
2.48%  libevas.so.1.14.99[.] _evas_render_phase1_object_process
2.14%  libevas.so.1.14.99[.] evas_object_image_is_opaque
2.06%  libevas.so.1.14.99[.]
 evas_common_draw_context_apply_cutouts
1.21%  libeo.so.1.14.99  [.] eo_data_scope_get
1.19%  libevas.so.1.14.99[.] eng_context_cutout_add
1.07%  libevas.so.1.14.99[.] __x86.get_pc_thunk.bx
0.84%  libc-2.19.so  [.] _int_malloc
0.84%  [kernel]  [k] get_page_from_freelist
0.80%  module.so [.] evas_gl_common_context_font_pus

it's the render pipeline - dealing with cutouts to avoid overdraw etc.


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-14 Thread Toan Pham
​Carsten,

Something just happened to E it is using 80+ cpu on the first CPU core.
This video is captured just minutes after the last video.


http://git.toanpham.com/archive/e19_nvidia_glx_out_of_control.mkv
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-14 Thread The Rasterman
On Tue, 14 Jul 2015 22:21:21 -0400 Toan Pham tpham3...@gmail.com said:

 ​Carsten,
 
 Something just happened to E it is using 80+ cpu on the first CPU core.
 This video is captured just minutes after the last video.

not enough info - do you have a gl using app runing on another desktop?

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-13 Thread Toan Pham
 i see 5-10%.
 do you perhaps have texture from pixmap disabled? (advanced compositor
settings
under engine).

Here is a video recording of my E19 desktop with i915 aiglx (hardware
acceleration).  The graphic device is an intel HD3000 integrated on the i7
SandyBridge CPU Core.  Texture from pixmap is enabled.

http://git.toanpham.com/archive/e19_cpu.mkv​



Here is the result of perf top while glxgears and firefox are running.
As you can see the top offender is libevas.  I am still not sure why the
CPU usage is so high!

   8.61%  libevas.so.1.14.99[.] _evas_render_cutout_add.part.16
   7.11%  libevas.so.1.14.99[.] evas_render_updates_internal
   3.55%  libevas.so.1.14.99[.]
evas_common_draw_context_cutout_split
   3.01%  libevas.so.1.14.99[.] evas_common_draw_context_add_cutout
   2.48%  libevas.so.1.14.99[.] _evas_render_phase1_object_process
   2.14%  libevas.so.1.14.99[.] evas_object_image_is_opaque
   2.06%  libevas.so.1.14.99[.]
evas_common_draw_context_apply_cutouts
   1.21%  libeo.so.1.14.99  [.] eo_data_scope_get
   1.19%  libevas.so.1.14.99[.] eng_context_cutout_add
   1.07%  libevas.so.1.14.99[.] __x86.get_pc_thunk.bx
   0.84%  libc-2.19.so  [.] _int_malloc
   0.84%  [kernel]  [k] get_page_from_freelist
   0.80%  module.so [.] evas_gl_common_context_font_pus
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-11 Thread Mick
On Saturday 11 Jul 2015 20:40:15 David Seikel wrote:
 On Sat, 11 Jul 2015 14:26:08 -0400 Toan Pham tpham3...@gmail.com
 
 wrote:
the compositor is going to draw whenever ANY APP draws.
  
  Hmm, why is this, even when there's no pager?  Is there a setting in
  E for it not to draw for a certain window name or type?
 
 The compositor draws EVERYTHING on the screen.  So any time any
 application changes anything on one of its windows, the compositor
 updates that part of the application window.  That's what compositors
 do.

Perhaps I am being dense, but your first sentence contradicts the second:

Is it just the application window within which something changes that is being 
redrawn by the compositor and that application window only,

 or

is it the complete real estate of the whole screen that is being refreshed?

As Carsten explained it I thought that it was the former.

-- 
Regards,
Mick
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-11 Thread Toan Pham
Carsten,

I am using GLX extension, w/ the native nvidia driver, and just to give you
an idea:  Running glxgears shows that E uses 23% cpu, while glxgears only
uses 1%.  And this test was done with no pager, since it would create a
overhead for E redrawing a preview window.

  the compositor is going to draw whenever ANY APP draws.

Hmm, why is this, even when there's no pager?  Is there a setting in E for
it not to draw for a certain window name or type?


 the question is - how to minimize the work.

Yeah, i've done all of the ways you've suggested: use HW accel (native
nvidia driver), GL, glx, and remove the pager.  No observable improvement
in cpu usage!  Do you have anymore ideas?

Thank you

TP
​
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-11 Thread The Rasterman
On Sat, 11 Jul 2015 14:26:08 -0400 Toan Pham tpham3...@gmail.com said:

 Carsten,
 
 I am using GLX extension, w/ the native nvidia driver, and just to give you
 an idea:  Running glxgears shows that E uses 23% cpu, while glxgears only
 uses 1%.  And this test was done with no pager, since it would create a
 overhead for E redrawing a preview window.

http://www.enlightenment.org/ss/e-55a1d5e3469f12.50602275.jpg

i see 5-10%.

do you perhaps have texture from pixmap disabled? (advanced compositor settings
under engine).

   the compositor is going to draw whenever ANY APP draws.
 
 Hmm, why is this, even when there's no pager?  Is there a setting in E for
 it not to draw for a certain window name or type?

if it is redrawing other thnigs (see my other email in this thread) that costs
cpu time.

it COULD also be a driver matter - perhaps the driver is blocking and waiting
sitting in a spinlock. i have seen this before.

perf top

try it - see what is happening

  the question is - how to minimize the work.
 
 Yeah, i've done all of the ways you've suggested: use HW accel (native
 nvidia driver), GL, glx, and remove the pager.  No observable improvement
 in cpu usage!  Do you have anymore ideas?
 
 Thank you
 
 TP
 ​


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-11 Thread The Rasterman
On Sat, 11 Jul 2015 21:10:03 +0100 Mick michaelkintz...@gmail.com said:

 On Saturday 11 Jul 2015 20:40:15 David Seikel wrote:
  On Sat, 11 Jul 2015 14:26:08 -0400 Toan Pham tpham3...@gmail.com
  
  wrote:
 the compositor is going to draw whenever ANY APP draws.
   
   Hmm, why is this, even when there's no pager?  Is there a setting in
   E for it not to draw for a certain window name or type?
  
  The compositor draws EVERYTHING on the screen.  So any time any
  application changes anything on one of its windows, the compositor
  updates that part of the application window.  That's what compositors
  do.
 
 Perhaps I am being dense, but your first sentence contradicts the second:
 
 Is it just the application window within which something changes that is
 being redrawn by the compositor and that application window only,
 
  or
 
 is it the complete real estate of the whole screen that is being refreshed?
 
 As Carsten explained it I thought that it was the former.

when you composite, the compositor takes over the entire screen. nothing is
visible without the compositor actively doing something (drawing it) to the
screen. the compositor SEES sources - such as windows and their pixmaps, gets
events saying areas of the window were drawn to by the app.

so david is right - compositor draws everything on your screen... at some point
or another. whenever updates happen, the compositor has to redraw.

the question is where/how does it redraw.

with software it literally screengrabs each window that updates back into
local memory and then uses evas's software engine to draw. evas decides
what/how to draw based on what objects in the scene graph were updated.

with gl you can either use the screengrabbing, or texture from pixmap.
texture from pixmap allows evas to point a pixmap to an image object in the
canvas directly, and when the compositor draws, it will simply render a
texture that *IS* the pixmap of the window.

now next you need to know HOW rendering happens.

with software we can in detail control everything that is drawn, thus evas
tends to render only the regions that changed (with some fuzz around them).
with gl this depends. in order to do this you need to know about the
backbuffer and how old it is. if you don't know, you HAVE TO REDRAW EVERYTHING.
because the backbuffer content is undefined.

there is an extension in glx and egl (nvidia glx drivers support it, intel,
radeo, etc. don't). it's called the buffer age extension. with that you can
query the age of the backbuffer when drawing happens. with age, we can reduce
what we render because we now know how old the buffer content is and we can
redraw what just updated since that frame N frames ago.

when we draw - we end up redrawing a bounding box (take everything that updated
and draw a single box covering all the regions). this is generally the most
sensible way to do things as doing multiple regions means re-running the render
path per region. but you don't know as it depends on gpu, driver, cpu and all
sorts of factors you simply can't know until you examine it at runtime in each
situation.

so without this extension, everything is drawn.

when we say everything... we mean EVERYHTING. every title, every close button,
every shelf gadget, every little miniature window in the pager. every
character of text will be 2 triangles. irf you enable soft shadows .. that
becomes 50 triangles. (it's drawn 25 times, 24 for the softish shadow and once
for the real text). evas does a lot of work to pipeline and merge these
triangles into non-overlapping batches etc. to minimize context switches.

your shelf is not a suince rectangle to draw (2 triangles with a texture). it
is 1000's of triangles generated every frame. if the bounding box update
intersectsthis - evas will be generating those triangles.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-11 Thread Toan Pham
​Yeah, from my understanding, the window manager draws windows and standard
elements only.  If an application uses gstreamer backend (with graphic
acceleration) to play a video, it is the job of the application to use
direct opengl to display the video content.  This explains why it it
possible to display a window or an application playing video without a
window manager.   I am not sure why you say E is a compositor, X-server is
the compositor.  E simply interfaces with Xlib to draw any special
canvases.
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-10 Thread Simon Lees


On 07/10/2015 02:52 PM, Carsten Haitzler (The Rasterman) wrote:
 On Fri, 10 Jul 2015 00:02:46 -0400 Toan Pham tpham3...@gmail.com said:

 Hi,

 While watching a youtube video in firefox or chrome on an I5 laptop,
 enlightenment cpu usage averages around 37% and the browser around 37%.  I
 do not understand why, since E19 is just a window manager, it should not
 use that much CPU.  I am switching to E b/c it is thin and fast, unlike
 gnome or KDE.  But... the high CPU utilization worries me a bit.
 what gpu?


Are you accidentally using software rendering? I've done that before

--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-10 Thread The Rasterman
On Fri, 10 Jul 2015 18:32:48 -0400 Toan Pham tpham3...@gmail.com said:

 Perf monitor shows that the E window manager redraws the screen at a high
 rate (27-33 fps) while there's a video playing.   When there is no video
 playing, E refreshes about 3-8 FPS.  I am not sure why the window manager
 needs to redraw the screen at such a high rate when there is a video
 playing.  Can this behavior be optimized, like with through a config
 parameter?

e is a compositor. it has to draw the content of the application too. how do
you think the pager has a copy of the window in it with the video there too?
the compositor is going to draw whenever ANY APP draws. a blinking cursor will
do that in your terminal.

the question is - how to minimize the work.

you could use software compositing or gl. gl will use the gpu to do it, sw will
use the cpu. so first double check if you are using software or gl enigne in
the compositor settings.

secondly if gl - what gpu? for example nvidia gpus have a glx extension that
allows e to only partially redraw the screen, not the whole thing. otherwise e
is forced to do a full redraw.

also note the pager needs a redraw too - on any update to any window. the more
gadgets and complexity you have on your screen the more e has to redraw.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-10 Thread Toan Pham
Perf monitor shows that the E window manager redraws the screen at a high
rate (27-33 fps) while there's a video playing.   When there is no video
playing, E refreshes about 3-8 FPS.  I am not sure why the window manager
needs to redraw the screen at such a high rate when there is a video
playing.  Can this behavior be optimized, like with through a config
parameter?
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


Re: [e-users] unusual enlightenment high CPU usage

2015-07-09 Thread The Rasterman
On Fri, 10 Jul 2015 00:02:46 -0400 Toan Pham tpham3...@gmail.com said:

 Hi,
 
 While watching a youtube video in firefox or chrome on an I5 laptop,
 enlightenment cpu usage averages around 37% and the browser around 37%.  I
 do not understand why, since E19 is just a window manager, it should not
 use that much CPU.  I am switching to E b/c it is thin and fast, unlike
 gnome or KDE.  But... the high CPU utilization worries me a bit.

what gpu?


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


[e-users] unusual enlightenment high CPU usage

2015-07-09 Thread Toan Pham
Hi,

While watching a youtube video in firefox or chrome on an I5 laptop,
enlightenment cpu usage averages around 37% and the browser around 37%.  I
do not understand why, since E19 is just a window manager, it should not
use that much CPU.  I am switching to E b/c it is thin and fast, unlike
gnome or KDE.  But... the high CPU utilization worries me a bit.


thank you.

TP
--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users