                                 Quake Bench
                                By Walter Lord
                A more accurate way to measure Quake performance.


I recently became disenchanted with using the TIMEREFRESH console command
as a pseudo-method of Quake benchmarking.  It reported about a 7%
performance degrade in the beta of version 1.05 when compared to 1.01.
After talking with Mr. Carmack, who insisted the two versions should be
nearly identical in performance, I decided to roll my own benchmark
program.

The program Quake Bench was thus born.  It reports a frames per second
result after doing a partial walk-through of the Necropolis level.  This
walk-through provides a better sample of room sizes, lighting conditions,
and movement than the TIMEREFRESH method.  It does not however include
monsters as their actions and firing patterns are too unpredictable and
could skew the benchmark.  Now, with this program, the beta 1.05 Quake
shows only about a 1% performance degrade verses 1.01 - much more on
line with Mr. Carmack's suggestion.

To use this program, simply make a qbench directory (MD QBENCH) while in
the Quake directory and copy the Quake Bench PROGS.DAT file into it.
Then invoke Quake with the parameter -game qbench (QUAKE -GAME QBENCH).
You may also have to add -winmem 10 if running under Windows.  The
Necropolis level will automatically load and after a couple seconds, the
player will begin moving around the level.  At this time, the mouse,
joystick, and most keys are disabled.  However, the menu or console can
be brought up which may skew the benchmark - so DON'T do it!  After the
walk-through is complete, the frames per seconds is reported along with
an authentication code.  The code may be used by some Quake performance
surveys to verify reported results, so if you're completing a survey
please take note of the code.  To test the frame rate at a different
resolution, simply select a new video mode and begin a new single player
game.  The walk-through will restart and when finished, the frames per
second will be reported.

Well that's about it for documentation.  I have just a few final notes.
First some CD players hesitate when first playing a track.  This might
cause a delay at the beginning of the walk-through which could throw
off the benchmark.  The code does wait a few seconds to account for the
CD.  However, you still might want to remove any CDs from your drive or
simply add -nocdaudio to the Quake command line before starting Quake
Bench.  Second, this code has been tested and appears to be bug-free.
If you do happen to uncover an oddity, please notify me at
lord@brodart.com.

Thanks and happy Quaking!
Walt
