\\max fps
seta image_usePrecompressedTextures "1"
seta image_useCompression "1"
seta image_downSizeLimit "512"
seta image_ignoreHighQuality "1"
seta image_downSizeBumpLimit "512"
seta image_downSizeSpecularLimit "128"
seta image_downSizeBump "1"
seta image_downSizeSpecular "1"
seta image_downSize "1"
seta image_lodbias "0"
seta image_preload "1"
seta r_useCachedDynamicModels "1"
seta r_skipBump "1"
seta r_skipPostProcess "1"
seta r_skipSpecular "1"
seta r_skipNewAmbient "1"
seta r_multiSamples "0"
seta r_useFastSkinning "1"
seta r_shadows "0"
seta r_useOptimizedShadows "1"
seta r_useTurboShadow "1"
seta g_projectilelights "0"
seta g_skipParticles "0"
seta g_decals "0"
seta g_brassTime "0"
seta g_muzzleFlash "0"
seta g_doublevision "0"
seta g_showPlayerShadow "0"
seta g_skipItemShadowsMP "1"
seta g_skipPlayerShadowsMP "1"
seta image_anisotropy "0"
seta ui_showGun "0"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST"
seta s_maxSoundsPerShader "0"
\\mult fps
64 Megabyte Video Cards
seta image_usePrecompressedTextures "1"
seta image_useCompression "1"
seta image_downSizeLimit "256"
seta image_ignoreHighQuality "1"
seta image_downSizeBumpLimit "256"
seta image_downSizeSpecularLimit "64"
seta image_downSizeBump "1"
seta image_downSizeSpecular "1"
seta image_downSize "1"
seta image_lodbias "-1" //NOTE 1
seta image_preload "1"
seta r_useCachedDynamicModels "1"
seta r_skipBump "1" //NOTE 2
seta r_skipPostProcess "1"
seta r_skipSpecular "1"
seta r_skipNewAmbient "1"
seta r_multiSamples "0"
seta r_useFastSkinning "1"
seta r_lightDetailLevel "7" //NOTE 3
seta r_shadows "0"
seta r_useOptimizedShadows "1"
seta r_useTurboShadow "1"
seta g_projectilelights "0"
seta g_skipParticles "1"
seta g_decals "0"
seta g_brassTime "0"
seta g_muzzleFlash "1"
seta g_doublevision "0"
seta g_showPlayerShadow "0"
seta g_skipItemShadowsMP "1"
seta g_skipPlayerShadowsMP "1"
seta ui_showGun "0"
seta image_anisotropy "0"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST"
seta s_maxSoundsPerShader "1"
128 Megabyte Video Cards
seta image_usePrecompressedTextures "1"
seta image_useCompression "1"
seta image_downSizeLimit "256"
seta image_ignoreHighQuality "1"
seta image_downSizeBumpLimit "256"
seta image_downSizeSpecularLimit "64"
seta image_downSizeBump "1"
seta image_downSizeSpecular "1"
seta image_downSize "1"
seta image_lodbias "-1" //NOTE 1
seta image_preload "1"
seta r_useCachedDynamicModels "1"
seta r_skipBump "1" //NOTE 2
seta r_skipPostProcess "1"
seta r_skipSpecular "1"
seta r_skipNewAmbient "1"
seta r_multiSamples "0"
seta r_useFastSkinning "1"
seta r_lightDetailLevel "7" //NOTE 3
seta r_shadows "0"
seta r_useOptimizedShadows "1"
seta r_useTurboShadow "1"
seta g_projectilelights "0"
seta g_skipParticles "1"
seta g_decals "0"
seta g_brassTime "0"
seta g_muzzleFlash "1"
seta g_doublevision "0"
seta g_showPlayerShadow "0"
seta g_skipItemShadowsMP "1"
seta g_skipPlayerShadowsMP "1"
seta ui_showGun "0"
seta image_anisotropy "0"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST"
seta s_maxSoundsPerShader "1"
NOTE 1: image_lodbias helps keep textures sharper at a distance, set to "0" if you find FPS/visibility problems
NOTE 2: r_skipBump can be set to "0" for better visual quality, a minor FPS loss and a possible loss in visibility
NOTE 3: r_lightDetailLevel is reset each map, use the bind bind o "seta r_lightDetailLevel 7" to reset
This set of configs is tailored towards multiplayer and should not be used in singleplayer. Create a text file called autoexec.cfg in your Quake4 'Base' directory and cut/paste the relevant config text.
Lighting Tweak
To help with slowdown on maps with a lot of lighting you may wish to add one of the following binds to a key. NOTE: r_lightDetailLevel is reset each map, you will need to use one of the binds to reset to your preferred setting.
bind o "toggle r_lightDetailLevel 0 3 5 7 9;addChatLine 'LightDetailLevel';addChatLine $r_lightDetailLevel"
bind o "seta r_lightDetailLevel 7"
Picmip Tweak
If you want that washed out 'bare' look that drastic picmip manipulation gives you in Quake3 you may wish to alter the following cvar values in the multiplayer config:
seta image_downSizeLimit "16"
seta image_downSizeBumpLimit "16"
seta image_downSizeSpecularLimit "4"
seta image_downSize "1"
seta image_downSizeBump "1"
seta image_downSizeSpecular "1"
IMPORTANT: You must add the cvars r_gamma and r_brightness and adjust them to suit your visibility requirements. For improved visibility we find that r_brightness settings should not be set higher than 1.4, increase r_gamma once you have reached 1.4 for r_brightness.