Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!samsung!sol.ctr.columbia.edu!ira.uka.de!fauern!lan!roell From: roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) Newsgroups: comp.unix.i386 Subject: Re: Simple X windows benchmark Message-ID: <3858@tuminfo1.lan.informatik.tu-muenchen.dbp.de> Date: 9 Aug 90 07:45:40 GMT References: <1990Jul28.014025.17578@pegasus.com> <1990Jul30.020330.6291@pcrat.uucp> <1990Jul30.235929.29962@esegue.segue.boston.ma.us> <1722@mic.UUCP> Sender: news@lan.informatik.tu-muenchen.dbp.de Organization: Inst. fuer Informatik, Technische Univ. Muenchen, West Germany Lines: 90 In-reply-to: gary@mic.UUCP's message of 2 Aug 90 06:58:57 GMT 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@lan.informatik.tu-muenchen.dbp.de UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de} -------------------------------------------------------------------------------