Simple X windows benchmark

Thomas Roell roell at lan.informatik.tu-muenchen.dbp.de
Thu Aug 9 17:45:40 AEST 1990


First some test results:

	UNIX:		ISC 2.0.2
	X server:	X386 (X11R4) internal test version
	Video card:	VGA GENOA 5400
	CPU:		33 MHz, 32k cache, 8MB (PizzaMan's Special)
	30387:		no

a)	Resolution:	864x606x2
	Time:		0:59

b)	Resolution:	800x600x256
	Time:		3:40

Now the interpretation of the results: The generic at386 boxes are generally
slow for i/o task. The normal i/o bus speed is between 8MHz and 10MHz. 
Therefore it is not depending on the CPU speed, whether scrolling is fast. The
only factor for speed is the access time of the VGA card. Before doing any
asumtions on the speed of a particular VGA, you should note that the CPU can
access the VGA's memory about every 5 (five) VGA cycles. One VGA cycle is
dotclock/8. In case a) I used a 44.9 MHz dotclock, which means, I could acceive
a throughput of 1.06 MBytes/sec. The window we scrolled was 191360 Pixels big
(80x8x23x13); we scrolled 1000-24 times. This means we got athroughput of
about 0.75 MBytes/sec. Ok, lets work about this scrolling in monochrome some
time. Now case b): here I used a 39 MHz dotclock. You should note that the
GENOA (i.e the Tseng ET3000 Chip) alows us to access the VGA's memory wordwise.
Now our maximal throughtput is 1.86 MBytes/sec. And we got (via this test)
about 1,62 MBytes/sec. Summarized, I could say: "good job done, scrolling is
very close to the maximum throughput of your graphics device". (Other test
showed me that the scroll routine gets about 92% of the maximal possible
throughput in 256 colors mode, if only scrolling is tested)

Let's do now a interpretation of the test: (Since I didn't use prof(1) for this
test all numbers below are estimates) About 80% of the test is spent in the
scroll, 10% in a fill and 10% in a glyph painting routine. Was this intended ??
All tested here is only the speed of the graphics device. Nothing more !!
This test simulates NOT the normal case (via the option +j 'jump-scrolling'
is disabled !!). That means, what you tested here is NOT the time, which is 
necessary to scroll 1000 lines under normal conditions. My second main point
of critic is that you tested only a very small (and in my oppinion not so
absolute important) facette of a X server (about 2000 Bytes out of 560000 Bytes
of code !!). It depends upon your application what parts of the X server are
the most important for your job. For simple text application (which should be
benchmarked here) the mixture should be 50% glyph paint, 30% fill solid and
20% scrolling (that were the weights I got via prof(1), when did 'ls -RCs /'
in a 80x44 window about 100 times).

Here are the results, when you start up the xterm with jumpscroll enabled,
which seemed to be done by some people for getting better numbers for their
graphics borads (like Gary Lewin, with Micro-Labs, Ultimate VGA **):

a)	Resolution:	864x606x2
	Time:		0:07.28s

b)	Resolution:	800x600x256
	Time:		0:12.19s

But no critic without saying what could be done better. As I posted some days
ago you should use a special benchmarking utility. X11PERF is such an utility.
It can be found under the X11R4-tape (contrib/demos/x11perf). The port to X11R3
should be simple. Running all test will take some hours (4 to 5). But then you
will have results that are saying some more than the above test does.


- Thomas

PS: If you use the above test, move your cursor off the xterm in that you are
    doing the test. Guess why! The original author has forgotten to say this,
    or he didn't know the importance of this trick.

** (note)
Gary Lewin told us his VGA did the test in 13.31s. That means his VGA has a
throughput of 80x8x23x13x(1000-24)x2/13.31s = 26.76 MBytes/sec. (I did not
use the fact that the test uses only 80% in scrolling, so the more realistic
throughput has to be around 33 MBytes/sec) If his Graphics board allows 16bit
(ISA bus) access, his CPU MUST have an i/o speed of 13.5 MHz (assuming
the VGA allows zero wait state access, and the CPU can access video memory
parallel to the VGA's display unit; if you'll take 33 MB/sec it will be 17 MHz
i/o speed). This is faster than every board (CPU & VGA combination) I ever
heard of!! Please, Gary post realistic results, or tell us how your VGA works
(EISA bus, VRAM's, graphics processor and so on), and where to get it. 

--
_______________________________________________________________________________
Mail:                    Thomas Roell (c/o Daniel Hernandez)
                         Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell at lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell at tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------



More information about the Comp.unix.i386 mailing list