Re: [e-users] unusual enlightenment high CPU usage
On Wed, 17 Feb 2016 23:42:36 +0100 (CET) Pavel Rezniceksaid: 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
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
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
On Mon, 21 Dec 2015 12:14:21 -0500 Toan Phamsaid: > >>> "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
>>> "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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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