performance work

Neil Graham Lerc at screamingduck.com
Tue Dec 16 22:08:38 EST 2008


On Tue, 2008-12-16 at 16:23 -0700, Jordan Crouse wrote:

> I would start by establishing a 1:1 baseline - it is great to compare 
> against a 2Ghz Intel box, but that the differences between the two 
> platforms are just too extreme.  No matter how good the graphics gets, 
> we are still constrained by the Geode clock speed, FPU performance, and 
> GPU feature set (what it can, and most importantly _cannot_ do).
I'm not even sure there _is_ a decent 1:1 baseline (and if there were
wouldn't it produce exact same results).  I did the 2GHz machine because
it's my slowest running box and more data can't hurt.  I suspect it
would be more value to compare the ratios of speeds between different
tests on the same machine rather than across machines.   At the very
least it can impress upon people the speed difference between the
machines.


> The first thing you need to do is determine which operations you really 
> care about. I would first target the operations that deal with text and 
> rounded corners, since those will be the most complex. Straight blits 
> and rectangle fills are important, but less interesting, since they 
> involve the least work in the path between you and the GPU.
Fundimentally, you care about the operations that are making it slow.
Those are the ones A) being used lots B) Take notable amounts of time in
total and C) have room for improvement.  

Is there a build of cairo that can produce a log of what calls are used
in typical XO use?

> 
> I recommend running the Cairo benchmarks on the XO again with 
> acceleration turned off in the X driver.

That's just a xorg.conf change?  I can do that and rerun the benchmark.


> Outside of the driver, you are pretty much limited to evaluating 
> alogrithms, either in the software render code (pixman) or in the cairo 
> code.  For those situations, I have less knowledge, but I do advise you 
> to remember the two hardware constraints which I mentioned above - CPU 
> clock speed and FPU performance.  Remember that alot of this code was 
> written recently when nobody in their right mind has < 1Ghz on their 
> desktop - no matter how hard they try, this will end up biasing the code 
> slightly.  FPU performance is more serious. The Geode does not do well 
> with heavy FPU use - to mitigate the damage, try to use single precision 
> only, and try not to use a lot of FPU operations in a row because the 
> Geode pipeline stalls horribly if two FPU operations are scheduled one 
> after another.

> 
> Finally, I will remind you that you that no amount of hacking is going 
> to magically make the Geode + Geode GPU all of a sudden look like a 
> modern desktop Radeon.  

Agreed, but it at least should do something in the range of my old
166Mhz system with s3 card.  Which it currently doesn't at a user
experience level,  how much of that is inefficiency and how much is
trying to do too much remains to be seen.






More information about the Devel mailing list