*** INITIAL RUN BEFORE OPTIMIZING.
***
*** The frame rate in Wireframe and 2D modes is good, but the frame rate
*** in Solid and ThreeD modes are pathetic by comparison.  The
*** bottleneck is probably when drawing the trapezoid.
***
*** The first thing I am going to get rid of though is the ugly floating
*** point square root in the distance formula.  Blech.
***
3D-Lab 0.01 benchmark generated Tue Apr 26 12:41:20 1994
tDisplay functions
    PlotBitmap = 164.835 textures per second
    Trapezoid  = 92.9368 frames per second (zooming)
    PlotPoint  = 1241.32 thousand pixels per second
tDisplay modes
    Overhead   = 81.3008 frames per second
    Clipped    = 61.7284 frames per second
    Wireframe  = 52.3013 frames per second
    Solid      = 19.3911 frames per second
    ThreeD     = 5.25735 frames per second
tAngle trig functions
    Sine(tAngle)   = 198139 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 79739 per second
    cos(double)    = 78778.3 per second

*** CHANGED TO INTEGER SQUARE ROOT.
***
*** First off, the integer root didn't work.  But that's okay
*** because even though it was over 3x faster it made no
*** difference at all.  I'll stick to the more reliable floating
*** point square root.  This, my friend, is why you benchmark
*** to see if your optimizations actually did anything.
***
3D-Lab 0.01 benchmark generated Tue Apr 26 13:08:20 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 92.8505 frames per second (zooming)
    PlotPoint  = 1230.65 thousand pixels per second
tDisplay modes
    Overhead   = 80.9717 frames per second
    Clipped    = 61.0874 frames per second
    Wireframe  = 52.0291 frames per second
    Solid      = 19.3274 frames per second
    ThreeD     = 5.25431 frames per second
Grafdrvr functions
    DistanceToPoint = 27080.2 per second
    Floating point  = 99293.9 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 233521 per second
    sin(double)    = 79739 per second
    cos(double)    = 74302.3 per second

*** SPLIT DRAWTRAPEZOID INTO DRAWSOLITCOLORTRAPEZOID
***
*** Lost some speed.  Probably because I'm using PlotPoint().
*** Will try again using pointer math, which should make a 
*** large difference.
***
3D-Lab 0.02 benchmark generated Wed Apr 27 17:28:12 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.7026 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.732 frames per second
    Clipped    = 61.8302 frames per second
    Wireframe  = 52.3013 frames per second
    Solid      = 15.0723 frames per second
    ThreeD     = 5.26205 frames per second
Grafdrvr functions
    DistanceToPoint = 74470.5 per second
tAngle trig functions
    Sine(tAngle)   = 198139 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** USING POINTER MATH IN DRAWSOLIDTRAPEZOID
***
*** Ahhh... that's better.  So far about 4 frames per second
*** over the origional plus the benefit of simplifying DrawTrapezoid
*** which REALLY needs optimizing.  Will try to reduce some of the
*** math in DrawSolidTrapezoid a little more.
***
3D-Lab 0.02 benchmark generated Wed Apr 27 17:52:00 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.6379 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 81.3449 frames per second
    Clipped    = 61.7792 frames per second
    Wireframe  = 52.3013 frames per second
    Solid      = 23.6668 frames per second
    ThreeD     = 5.2639 frames per second
Grafdrvr functions
    DistanceToPoint = 66871.4 per second
tAngle trig functions
    Sine(tAngle)   = 233521 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 79739 per second
    cos(double)    = 78778.3 per second
*** ADDED ROTATE2DARRAY
***
*** Looked at DrawSolidTrapezoid and can't do much more reasonabily.
*** Added Rotate2DArray seemed to speed it up a tiny amount, but
*** nothing substantial.  Back to the drawing board.
***
3D-Lab 0.02 benchmark generated Thu Apr 28 18:22:28 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.6379 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 61.7792 frames per second
    Wireframe  = 54.1908 frames per second
    Solid      = 24.6063 frames per second
    ThreeD     = 5.27389 frames per second
Grafdrvr functions
    DistanceToPoint = 76202.3 per second
tAngle trig functions
    Sine(tAngle)   = 198139 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** CHANGED DISTANCECOMPARE()
***
*** Changed DistanceCompare so it only needs to do subtraction
*** once.  No obvious speed improvement.
***
3D-Lab 0.02 benchmark generated Thu Apr 28 19:25:07 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.7026 frames per second (zooming)
    PlotPoint  = 1115.58 thousand pixels per second
tDisplay modes
    Overhead   = 81.2568 frames per second
    Clipped    = 62.6566 frames per second
    Wireframe  = 54.8246 frames per second
    Solid      = 24.7852 frames per second
    ThreeD     = 5.2802 frames per second
Grafdrvr functions
    DistanceToPoint = 65534 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 204331 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** CHANGED DRAWCLIPPEDLINE()
***
*** Didn't expect a visible speed improvment and didn't get one.
***
3D-Lab 0.02 benchmark generated Thu Apr 28 19:40:56 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.6379 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 62.6043 frames per second
    Wireframe  = 54.8647 frames per second
    Solid      = 24.777 frames per second
    ThreeD     = 5.28057 frames per second
Grafdrvr functions
    DistanceToPoint = 65534 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** CHANGED DRAWOVERHEADVIEW()
***
*** Did nothing observable.  Perhaps all these minute improvments
*** will add up to something
***
3D-Lab 0.02 benchmark generated Thu Apr 28 19:56:25 1994
tDisplay functions
    PlotBitmap = 164.835 textures per second
    Trapezoid  = 69.7026 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 62.6043 frames per second
    Wireframe  = 54.8647 frames per second
    Solid      = 24.777 frames per second
    ThreeD     = 5.28057 frames per second
Grafdrvr functions
    DistanceToPoint = 65534 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 198139 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** CHANGED DRAW3DVIEW A LITTLE
***
*** No obvious change yet again.
***
3D-Lab 0.02 benchmark generated Thu Apr 28 20:43:12 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 69.6379 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 61.7792 frames per second
    Wireframe  = 54.6249 frames per second
    Solid      = 23.9158 frames per second
    ThreeD     = 5.27426 frames per second
Grafdrvr functions
    DistanceToPoint = 65534 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 233521 per second
    sin(double)    = 79739 per second
    cos(double)    = 78778.3 per second

*** CHANGED DRAWTRAPEZOID
***
*** Oh yes!  An 8% speed increase in the texture-mapped trapezoid.
*** It's a good start.  May be able to sqeeze a little more.
*** If debugging is off it will speed up even more.
***
3D-Lab 0.02 benchmark generated Fri Apr 29 12:28:41 1994
tDisplay functions
    PlotBitmap = 164.835 textures per second
    Trapezoid  = 74.6269 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 61.5258 frames per second
    Wireframe  = 54.8246 frames per second
    Solid      = 23.8701 frames per second
    ThreeD     = 5.68268 frames per second
Grafdrvr functions
    DistanceToPoint = 65534 per second
tAngle trig functions
    Sine(tAngle)   = 242170 per second
    Cosine(tAngle) = 198139 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second

*** RECOMPILED WITH 486
***
*** Forgot I switch to 386 code when I sent it to Darryl last night.
*** Recompiled with 486 code and got no real measurable speed 
*** improvment.
***
3D-Lab 0.02 benchmark generated Fri Apr 29 12:41:15 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 74.6269 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.732 frames per second
    Clipped    = 61.5258 frames per second
    Wireframe  = 54.8246 frames per second
    Solid      = 23.8777 frames per second
    ThreeD     = 5.68225 frames per second
Grafdrvr functions
    DistanceToPoint = 66871.4 per second
tAngle trig functions
    Sine(tAngle)   = 233521 per second
    Cosine(tAngle) = 233521 per second
    sin(double)    = 79739 per second
    cos(double)    = 78778.3 per second

*** MADE A FEW MINOR CHANGES
***
*** Don't expect any change and didn't get one.
***
3D-Lab 0.02 benchmark generated Fri Apr 29 14:33:48 1994
tDisplay functions
    PlotBitmap = 165.746 textures per second
    Trapezoid  = 75 frames per second (zooming)
    PlotPoint  = 1149.92 thousand pixels per second
tDisplay modes
    Overhead   = 80.819 frames per second
    Clipped    = 62.0347 frames per second
    Wireframe  = 54.8647 frames per second
    Solid      = 23.8701 frames per second
    ThreeD     = 5.72519 frames per second
Grafdrvr functions
    DistanceToPoint = 66871.4 per second
tAngle trig functions
    Sine(tAngle)   = 233521 per second
    Cosine(tAngle) = 242170 per second
    sin(double)    = 78778.3 per second
    cos(double)    = 79739 per second
