From: glenn@cs.utexas.edu (Glenn G. Lai)
Newsgroups: fj.mail-lists.x-window
Subject: SpeedUp Sources and Patches on export.lcs.mit.edu
Date: 6 Apr 92 06:06:33 GMT
Distribution: fj
Organization: CS Dept, University of Texas at Austin

Date: 5 Apr 1992 23:05:15 -0500
Message-Id: <ktvjfrINNov7@syrian.cs.utexas.edu>
Newsgroups: comp.windows.x


The README file follows: 


-----Begin-----

The file SpeedUp.tar.Z contains the sources and patches to build an enhanced
X11R5 server (for 386 UNIXes with ET4000 boards) from the official X386 code
in X11R5; this particular server shall be called SpeedUp 1.1.  The licensing
conditions are reproduced below.  If you don't qualify, don't (attempt to)
break the law. 

/******************************************************************************
	Copyright 1992 by Glenn G. Lai				   	

	All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any NON-COMMERCIAL purpose is hereby granted without
fee, provided that the above copyright notice and this permission notice 
appear in supporting documentation, that the copyright notice defined
as ".string "Copyright 1992 by Glenn G. Lai" in the source code not be
removed and its presence be demonstrable by its appearance in the object
code generated from the (modified) source, and that the name of "Glenn G. Lai"
not be used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission; a recipient of derived
work is subject to all the restrictions herein.  Glenn G. Lai makes no
representations about the suitability of this software for any purpose.
It is provided "as is" without express or implied warranty.

To distribute this software for commercial purposes requires that you observe
the following conditions IN ADDITION to the ones stated above: 

(1)  You must first inform me and receive a confirmation. 

(2)  If you are an X server vendor, you must, at no charge, give me a complete
binary copy of your server containing my code upon request.  This applies to 
all versions of your X server containing my code.

(3)  If you are a UNIX vendor, you must, at no charge, give me a copy of an 
unlimited-user version of your UNIX with development system and all your
add-on packages upon request.  This applies to all versions of your UNIX
with an X server containing my code. 

To use this software for any purpose other than the ones described above, 
contact me first to obtain the licensing information.

GLENN G. LAI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL
GLENN G. LAI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.


Glenn G. Lai
P.O. Box 4314
Austin, Tx 78765
(glenn@cs.utexas.edu)
4/5/92
*******************************************************************************/

1.  How to Build SpeedUp 

Get the X386 server code.  SpeedUp.tar.Z contains all replacement files for the
`cfb.banked' and `vga' directories under `mit/server/ddx/x386'.  Do a `make
Makefile' in `vga', and then do a `make' in `mit/server'.  If you don't know
what I'm talking about, let other people do this for you.

2.  Notes on Performance 

The most obvious improvements are bitblts, solid area fills, and text; I did
some line draws merely to raise the XStone rating.  You probably can't do very
much about bitblts and solid area fills; on a system with a 33-Mhz 386 + Cyrix
83D87 and an Orchid ProDesigner II, SpeedUp can't even run the ISA bus at the 
full 8 MHz because the Orchid board can't keep up with it. 

X386 1.2 is slower than 1.1b, despite the fact that X11R5 is generally faster 
than X11R4, because it hasn't incorporated 1.1b's assembly speedup routines.
However, don't waste time trying to use 1.1b as a base to speed up text
operations; the X11R5 fonts are organized differently, and 1.1b doesn't have
any assembly speedup code for drawing text. 

Two suggestions for people who want even better performance:

(1)  Get a faster processor.  A 33-Mhz 486 can double the text performance
over that of a 33-Mhz 386; you probably can't perceive other improvements.

(2)  If your ET4000 board, like my Orchid, has DRAMs, using a slower dot clock
(possibly by going to a lower resolution, e.g, from 1024x768 to 800x600) will
speed things up; using a smaller font helps, too.

If you want to do it the hard way, i.e., by modifying the code, may the force
be with you--but don't bug me about it. 

(3)  Bugs

There are probably no bugs in my assembly code or C patches; however, the X386
bitblt code is bugged, with the culprit being `cfbblt.c' (`cfbbitblt.c' is
probably bugged too).  I know how to fix the problems, but the information
falls under a "non-free" claim; the fixes are NOT in SpeedUp.tar.Z.  I have yet 
to see complaints about them, so they probably don't matter (to you) anyway. 


Glenn G. Lai

-----End-----


Glenn
glenn@cs.utexas.edu