ok some numbers - this is intel driver, gl, with partial rendering enabled and
1 window with a spinny "busy" animation:

  http://www.enlightenment.org/ss/e-53d89ef1d9efe3.65777916.png

5% cpu with 1 window having a busy spinner. gl engine for compositor. perf says
this is how cpu usage is distributed within the enlightenment process:

  http://www.enlightenment.org/ss/e-53d89f67eb5bb6.40053571.png


now if we turn partial update off (i forced it on above, as opposed to default
auto which detects buffer age extension automatically and uses the correct info
from gl).

  http://www.enlightenment.org/ss/e-53d8a020545aa4.08083375.png

19% cpu now. 4x as much. with profile of:

  http://www.enlightenment.org/ss/e-53d8a07f6fc960.37155853.png

note these numbers are about 15-20% higher (17 vs 20% cpu) because i'm runing a
perf top at 50000 hz - this seems to raise cpu usage by about 15-20% for
processes. so drop back down by that for normal situations.

either way - as you can see. partial rendering uses 1/4 or so the cpu of
re-rendering everything. the optimization is already there and done - if the
driver supports it, it's automatically used without further ado. if not - you
get full redraws every frame. this means evas walks a lot more canvas content,
generates a lot more geometry etc. etc.

we already have the optimizations there, but the extension support is not. even
the people behind the extension we use don't implement it. their major gpu
competitor does though. on glx anyway. you can try egl+gles and see if it's
there. i'm not sure. but that will drop your cpu usage a lot. i am actually
ASSUMING and expecting this will happen - or eventually will. you're getting a
slow path atm due to drivers.

the cpu use in canvas walking as before (the top 1 items) is a matter of a
canvas render rewrite of 10 year old code. i have started with some skeleton
code but getting time to do it is tough. a simpler theme will help little
(especially with gl). if i get some time, i'll try find a way to add some
numbers or debug to track # of triangles per frame and put an older e17
install in to collect them - better yet even to draw outlines of the triangles
too and get a screenshot so you can see how we drive geometry differently.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to