On Wed, 2 Oct 2019 15:22:41 +0200 [email protected] said: > On 10/1/19 5:54 PM, Carsten Haitzler (The Rasterman) wrote: > > On Tue, 1 Oct 2019 15:42:21 +0200 [email protected] said: > > > >> Hi > >> I find out why idle Enlightenment, without any launched application, > >> eats 4 to 7 % or more cpu: clock setting with seconds. > >> If i disable clock seconds settings or clock module, cpu stays about 0 % > >> Conditions: > >> Arch/Aur system > >> last Enlightenment + Efl git master (1.23.99) and previous versions > >> Xorg session > >> Htop in other user tty > >> This issue doesn't appear in Wayland session > >> > >> Interesting: it seems Enlightenment X session eats more cpu than Wayland > >> session > > > > yup. the clock flipping seconds consumes cpu. it's defined by theme. it > > actually flickers/animated the numbers not just ticks them over with a > > single draw. you can modify the theme to change this or disable seconds. > Thanks for this explanation > Question: how modify theme? > > > it's not > > free. it'll consume about that in wayland too... the difference is when you > > switch tty enlightenment STOPS RENDERING. it goes idle as it knows you > > switched vt. e itself has to handle the vt switch. in x it has no idea you > > switched vt. x doesn't tell e anything and it doesn't know, so it keeps > > going. ssh in and run htop and measure there and you'll see it's the same > > just the vt switch is the difference. > > > However, when i launch Htop inside wayland, i see Enlightenment consumes > less cpu than in X session...
oh. i missed this bit. there could be various reasons. are they both using gl to render? if so there is a different path to get things to display. for enlightenment to display what has been rendered by gl in all situations it swaps the buffers. this is where things differ inside the gl libraries. in x this has to then ask the xserver to present this swap (how the xserver does it is up to the xserver). in wayland this becomes a direct request to the kernel to display that new buffer. keep in mind that cpu% on modern systems when it's not very high is kind of a lie. 20% of a cpu at 4ghz is very different to 20% at 500mhz. you have to also measure clock rates over that period of time. in fact i read something about some very recent kernel patches that fix this and it apparently really helps power consumption too that scale the kernels view of cpu% usage based on clockrate so 20% of a 500mhz clocked cpu core that can normally do 4ghz is probably more like 2.5%. you can try force your cpu to "performance mode" to force the clock at a single rate. then for more idea of what the difference is - use perf. perf record, perf top... read up about perf. perf top is possibly the more interesting "introduction" and look at it. grab a few "screenshots" (ssh in, run perf top, hot ctrl+s to pause output, copy + paste content somewhere, ctrl+q to resume output). ... perf record is more involved as you'll also need perf report etc. etc. ... but this is what you should look at. this tells you what libraries, binaries and which FUNCTIONS are consuming cpu cycles... you also want to force your cpu clockrate to be fixed using perf too. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - [email protected] _______________________________________________ enlightenment-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
