[sugar] rendering test

Bernie Innocenti bernie at codewiz.org
Sun Sep 28 11:57:34 PDT 2008

Riccardo Lucchese wrote:
>> Was fbdev running with EXA or XAA?  (does fbdev even support EXA?)
> http://www.x.org/wiki/ExaStatus lists fbdev in the `Probably unsuitable
> for EXA support' section; so, I guess XAA.

Confirmed: there's absolutely no EXA code in xf86-video-fbdev.  Too bad, 
it would have been perfect to measure the relative overhead of going 
through the EXA fallbacks.

>> My performance tests with X 1.3 and 1.4 had shown that turning on EXA 
>> makes many operations slower.  It's hard to tell why, but it might have to 
>> do with loosing XShmPut() (MIT shared memory), excessive migration of 
>> pixmaps to the framebuffer, and so on.  X 1.5 was supposed to have a much 
>> better EXA, at least judging from the stream of patches landed on the tree.
>> I'd be very interested in seeing the output of oprofile while running your 
>> benchmark on X 1.4 and X 1.5.  Please, remember to install the debuginfo 
>> packages for the X server, libcairo, and the geode driver.
> I haven't tried to run oprofile on the xo yet (it is on my todo list).

Be careful, there's a catch with jffs2: it does not support the writable 
shared mmap that oprofiled needs.  This leads to a confusing situation 
where you get an empty report file without any error given.

Refer to this (possibly outdated) documentation for an easy workaround:

> If I remember well, ExaDoMoveOutPixmap (or a function with a similar
> name) and memcpy were always on top of sysprof profiles in rendering
> tests.

One advantage of repeating the profile now would be comparing the absolute 
times between different X servers and Fedora runtimes.

Also, leaf functions tell us very little.  memcpy() might be called from 
many different places to do different things.  oprofile also supports 
stack traces, but for some reason I could never get them to work on the 
XO.  One clue is that oprofile cannot use the NMI interrupt on the XO and 
falls back to using a software timer instead.  Perhaps the stack tracing 
code doesn't like that.

    \___/  Bernie Innocenti - http://www.codewiz.org/
   _| X |  Sugar Labs Team  - http://www.sugarlabs.org/
   \|_O_|  "It's an education project, not a laptop project!"

More information about the xorg mailing list