X11 performance, rawhide vs. FC4 (including hard numbers)
fedora at camperquake.de
Sat Jan 21 16:12:35 UTC 2006
For quite some time I was under the impression that X got slower and slower
as rawhide moved on. But since impressions are just that, I could not prove this
in a way that would be satisfying to the developers (and me). Nonetheless,
I filed a bug about this a long time ago. As you can see from the bug, my main
concert at the time (and in this mail, too) is Xv performance, crucial for any
kind of video playback.
I recently found the time to sit down and produce hard numbers for this. I did
not find a tool that would allow me to measure the performance that can be
gotten out of the Xv system (xperf is a little backwards in that regard), so
I wrote my own.
Let's get down to the testing area.
The machine I used is a Duron 1200Mhz, 640MB RAM, GeForce2MX graphics card
using the stock nv driver.
The tested operating systems are FC4 (fully updated) and a reasonably recent
rawhide tree. Both versions shared one xorg.conf. Exact version numbers are
in the test results.
My test program uses the Xv extension to transfer a 512x512 pixel image
into a 512x512 pixel sized window, using shared memory transfers (both
the image and the window sizes are configurable, but these are the default
values). This is repeated often enough to be able to calculate the time
used for a single transfer. All test were done using the following procedure:
1) Boot the OS in single user mode
2) Become root ("su -")
3) Compile the xvperf program (link to source below, compiled with
"CFLAGS=$(rpm --eval %optflags) make")
4) start xfs
5) Create a simple X environment ("echo xterm -geometry 80x25 > .Xclients")
6) start X11 (startx)
This creates a very simple X environment without a window manager.
7) run "maketest.sh <path to xvperf binary> (link below)
maketest.sh gets some system information (CPU, mtrr, iomem, X11 config
and log files) and then runs xvperf. All information is saved into
The basic result of all the above is that Xv performance under current
RH is less than a third of that in FC4. Why that is I do not know.
Before I file another bug on this I'd like to ask people who are able
and willing to perform the same testing (RH and FC4 (or even FC3)) on
the same hardware to compare their perfomance values and notify me
whether they see the same as I do or not.
Attached to this mail are the log files produced by maketest.sh for
FC4 and RH.
The link to get the source for xvperf and for maketest.sh is
Some words of warning:
a) this is my first program dealing with X11 directly. I may be measuring
b) The program has just been tested on a GeForce2MX (x86) and an ATI
Rage128 (ppc). It may have bugs on other hardware (for all I know it
probably has bugs on the hardware it was tested on)
c) xvperf will try to use a YUY2 transfer. Almost all cards ought to
have such a transfer mode.
d) If you have a fast machine you may have to increase the number "2000"
in the last line of maketest.sh to accomodate (xvperf will complain
Thanks for your time.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 26658 bytes
Desc: not available
More information about the fedora-devel-list