[Baseline] [Options Settings] [Console Commands] [Overclocking] [Comparison] [CPU Speeds]


GLQ2 Single-Player Tune-Up


This page refers specifically to Quake II using the OpenGL miniport. While some of these options may apply elsewhere, most of the console commands will be irrelevant outside of this setting.


Performance Baseline

[Options Settings] [Console Commands] [Overclocking] [Comparison] [CPU Speeds]

All benchmarks were performed using the Stealth II under the following conditions.  Benchmarks were performed three times, with the middle value being reported.  For system info, click here.

The baseline value is 16.8 fps at 640x480 using Demo1.

The benchmark was conducted in the following manner:
1) Hit the "~" key to bring down the console.
2) At the console type:
     timedemo 1 <Enter>
     map demo1.dm2 <Enter>
3) The demo was run to completion and the numbers were recorded for three consecutive runs.
Note: if you wish to play the game after running this benchmark, type timedemo 0 at the console and hit <Enter>.

This is for Quake 2 version 3.05, 16-bit textures, fullscreen, 75Hz refresh rate, highest-quality textures, no CD-music, high-quality sound, red dot crosshair.

The minigl.dll is dated November 11, 1997 and the v2000gl.uc is dated October 31, 1997.

The effects of all modifications to the baseline will be reported as a difference.  For instance, if changing a setting produces 17.0 fps, then a value of +0.2 would be listed (17.0 - 16.8 = +0.2)

Note:  while the effects of some of these tweeks are minor in single-player, they could be very pronounced in multi-player.  32-player Capture-the-Flag with everyone launching grenades and rockets into an open courtyard will produce system stress that will never be seen in single-player.  In the future, I may construct a large multi-player demo and re-run these benchmarks.


Options Settings

[Baseline] [Console Commands] [Overclocking] [Comparison] [CPU Speeds]

Setting Description Speed
Low-quality Sound Uses 11KHz sound samples instead of 22KHz.  The effects of this setting will vary depending
on the quality of your sound card .
+0.1
8-bit Textures This setting uses 256-color instead of 65,000 color textures, cutting memory used for textures
in half.  Surprisingly, the image quality is not affected that much.  While no performance
increase was noted, the effect would probably be pronounced in multi-player where texture
memory is often maxxed out.
+0.0


Console Commands

[Baseline] [Options Settings] [Overclocking] [Comparison] [CPU Speeds]

These are only a few select commands that are directly related to performance.  For a more complete console command list, check out Farenheit 176 on Planet Quake. The 3 Fingers' Quake 2 Tweak Guide by Brett Jacobs is also an excellent resource. You can get the latest version here or here. Some of Brett Jacobs' information is specific to 3Dfx Voodoo cards, so read carefully.

Console
Command

Default

Valid Values

Description

Speed

cl_particles

1

0 or 1

Setting this to "0" disables the display of particles.  No blood, no
bullets, etc.

+0.4

gl_allow_software

0

0 or 1

When set to "1", OpenGL functions not present in hardware will be
emulated in software.  I thought this would slow performance, but
what do I know?

+0.2

gl_dynamic

1

0 or 1

Setting this to "0" will disable dynamic lighting caused by stationary
light sources (also, no weapon flash).

+0.2

gl_finish

0

0 or 1

When set to "1", sends a finish call to the GL driver

+0.2

gl_flashblend

0

0 or 1

When set to "1", weapons that emit light will have that light
representing by a glowing haze. Note: you can't light up dark
corners this way.

+0.2

gl_mode

3?

0 = 320 x 200
1 = 400 x 300
2 = 512 x 384
3 = 640 x 480
4 = 800 x 600
5 = 960 x 720
6 = 1024 x 768
7 = 1152 x 864
8 = 1280 x 1024
9 = 1600 x 1200

This sets the resolution.  Available modes are limited by the amount
of graphics memory on your card.

not tested
not tested
+5.5
baseline
-4.7
not tested
not tested
not tested
not tested
not tested

gl_playermip

0

0-4 (integer)

In multiplayer, every player's skin uses up memory for the texture.
In a large game, this could cause a HUGE slowdown as your video
card has to load textures from you system memory.  Each number
above 0 here will halve the amount of memory used to store skins.
"1" will use 1/2 the memory, "2" will use 1/4, etc.  People will look
blurry, but you may live long enough to kill them.

not tested

gl_picmip

0

0-4 (integer)

The variable saves memory on all textures except player skins.
Note: this command caused strange colors on walls on the bench-
mark system and slower performance.  Again, really only useful
for multiplayer.

-0.4

gl_polyblend

1

0 or 1

Setting this to "0" will disable the haze effect /color shift that occurs
when underwater, getting injured, or using a power-up.  This can
make you more competitive simply because you can see better.

+0.5

gl_swapinterval

1

0 or 1

Setting this to "0" disables the time delay between frame swaps.
Note:  gl_ext_swapinterval must be set to "1".
With the older OpenGL miniport, this setting didn't seem to
matter (or work).  With the new miniport and v3.10 Quake2,
this must be set to "1" to stop the textures from flashing, at
least on a Stealth II.  With the flashing textures, the game runs
about 1.9fps faster, but is pretty ugly.

+0.0

gl_ztrick

0

0 or 1

Set this to "1" and the system will bypass clearing the Z-buffer
(depth /z-axis) information.  Can cause visual anomalies, but none
were noted on the benchmark system.

+0.1

What is the cumulative effect of some of these settings?  These next benchmarks were run using the following settings from a commonly recommended multi-player autoexec.cfg seen in many of the Quake2-related newsgroups:

set s_primary "0"
set s_mixahead ".14"
set cl_predict "1"
set gun_z "3"
set gun_x "-3"
set gun_y "0"
set cl_particles "1"
set gl_dynamic "0"
set gl_polyblend "0"
set gl_playermip "2"
set gl_flashblend "0"
set gl_ext_swapinterval "1"
set gl_swapinterval "0"
set gl_ztrick "1"
set cd_nocd "1"
set in_mouse "1"
set in_joystick "0"
set in_initjoy "0"

You can download this autoexec.cfg here.  Unzip it to your \Quake2\BaseQ2 directory.

How was performance affected?

Resolution Multi-player settings used? Overclock Stealth II? Performance Effect of Multi-player .CFG

640x480

No

No

16.8 fps

--

"

Yes

"

17.1 fps

+0.4

"

No

Yes

20.7 fps

--

"

Yes

"

20.5 fps

-0.2 (Don't know why)

512x384

No

No

22.3 fps

--

"

Yes

"

22.7 fps

+0.4

"

No

Yes

24.3 fps

--

"

Yes

"

25.6 fps

+1.3

As you can see, the effect of software tweeks other than running a lower screen resolution is fairly minimal, at least for single-player on the Stealth II.


Overclocking

[Baseline] [Options Settings] [Console Commands] [Comparison] [CPU Speeds]

Card Memory Speed RISC speed Performance
Stealth II

118 MHz

59MHz

+3.9

The benefit here is obvious. Clocking above this speed on my board produced minimal benefits and occasional instability. Better cooling might help.


Comparison

[Baseline] [Options Settings] [Console Commands] [Overclocking] [CPU Speeds]

Renderer Comments Speed Change vs. Baseline
Software rendering Using the Stealth II

10.9 fps

-5.9

VQuake2
(v1k renderer)
Using the Stealth II.  Note:  the v1k renderer is optimized for
the V1000 chips.  The V2x00 chips, therefore, are not much
faster than V1000 chips here. Plus, GLQuake2 looks much
better (colored lighting, etc.)

16.0 fps

-0.8

VQuake2
(with full-antialiasing)
Using "v1k_antialiasing 7"

14.2 fps

-2.6

Monster 3D
(no tweeks)
Although not much faster than the Stealth II here, the
Monster 3D proved much more responsive to tweeking.
18.7 fps

+1.9

Monster 3D
(tweeked)
Using multi-player .CFG file listed earlier and the following
Voodoo-specific variables:

SET FX_GLIDE_SWAPINTERVAL=0
SET FX_GLIDE_NO_SPLASH=1
SET SST_FASTMEM=1
SET SST_FASTPCIRD=1
SET SST_GAMMA=2.0
SET SST_SWAP_EN_WAIT_ON_VSYNC=0
SET SST_SCREENREFRESH=75
SET SST_GRXCLK=57
SET SST_VIDEO_24BPP=1

30.2 fps

+13.4
(vs. Baseline)


+9.5
(vs. o/c Stealth II)

As stated before, the Monster 3D appears more responsive to tweeking variables.


CPU Speeds

[Baseline] [Options Settings] [Console Commands] [Overclocking] [Comparison]

I re-ran the baseline tests at two different CPU speeds to note the effects.  Here are the results:

CPU Speed Bus Speed Performance

166 MHz

66 MHz

-0.5

225 MHz

75 MHz

+0.1

For information on overclocking your CPU, check out Tom's Hardware Guide.

For information on other CPUs, check out the CPU page.


Benchmarking System

[Baseline] [Options Settings] [Console Commands] [Overclocking] [Comparison] [CPU Speeds]

Relevant Hardware (latest non-beta drivers as of Jan 8, 1998)
Intel Pentium 166 MMX overclocked to 200MHz.
Megatrends HX-83 Motherboard
64mb 60ns EDO RAM (Micron)
Diamond Stealth II
Diamond Monster 3D
3.2gig Quantum Fireball EIDE Hard Drive
Soundblaster AWE64 Value
Diamond Monster Sound

Relevant Software and Settings
Win95b (OSR2)
GDI acceleration disabled for Stealth II
1280x1024x16-bit Desktop Settings