Doom 3 Tweak collection
I found it very annoying that there wasn't a definitive guide with all the Doom 3 tweaks around, so I decided to gather a few of them, just to make it easy for you.
This topic was started by Davio,
I found it very annoying that there wasn't a definitive guide with all the Doom 3 tweaks around, so I decided to gather a few of them, just to make it easy for you.
I'll start off with Viper Lair's first tweaks, which can be found here: http://www.viperlair.com/articles/howto/software/tweakd3/
Next up is a part of UpsetChaps Doom 3 guide, which is found here: http://ucguides.savagehelp.com/Doom3/FPSVisuals.htm
On to the ever so controversial VSync, should you turn it on or off? Well, the answer is: It's totally up to you, really it is.
The main differences are that with VSync off, the game seems to 'jump' more between a high and low fps, and with VSync on, it seems more fluently.
I still think TomaszGor said it best in his posts in this thread: http://www.rage3d.com/board/showthread.php?t=33758648
A snippet:
As you see, don't forget to turn Triple Buffering on when having VSync on!
Moving along to some more advanced tweaks, here is something for you to try, posted by Humus here: http://www.beyond3d.com/forum/viewtopic.php?t=14874
And last but not least, turning off the shadows in the Advanced System Options helps out a lot! I gained 10 fps from it, and I am willing to sacrifice the beauty of the game for it. Try it yourself.
There you have it, my tweak collection, enjoy!
I'll start off with Viper Lair's first tweaks, which can be found here: http://www.viperlair.com/articles/howto/software/tweakd3/
An autoexec.cfg file is a configuration list of cvars that is run when the game is loaded. It can contain your settings for the game, your bindings for chat messages and controls, and anything else you might need. The beauty of using an autoexec file is that you can layout it out in a manner that is easy for you. Basically its nothing more than a text file. You can take a look at an example autoexec here. It's currently rather big and very much a work in progress, however we have started to mark out a few items of interest for tweaking.
To create your own, make a new text file and save it as 'autoexec.cfg' making sure you save it as all files and not as a txt file. If you don't, you'll end up with an 'autoexec.cfg.txt' file. Save this in the Doom3/base folder (the same folder as the DoomConfig.cfg). You can then edit it with a text editor such as wordpad. Should you want to make your own notes, placing // before a line will tell Doom III to ignore it.
Where is the console?
The console can be accessed by pressing CTRL-ALT-x where 'x' is the key under ESC, tilde for many, ` hyphen for others, it all depends on your region. You can however set this to the key under ESC only by adding the line -
set com_allowConsole "1"
to your autoexec.cfg.
What was that command again .... ?
You get a list of commands or have your commands completed in the console by using the tab key. For example -
c + tab key in the console will give you a list of all commands beginning with c.
Speaking of commands beginning with c, you can dump the current console to a text file if you wish with the 'condump blah' (Viper Lair suggests blah.txt here, but it makes it a txt by default, red.) command.
Next up is a part of UpsetChaps Doom 3 guide, which is found here: http://ucguides.savagehelp.com/Doom3/FPSVisuals.htm
Best Visual Compromise / FPS Compromise Config
Create a file called autoexec.cfg in your Doom3 'Base' directory and add the relevant config text
This is the best all round config for singleplayer, offering a good compromise between visual quality and FPS. If you wish to try more tailored configs (excellent, high, medium and low) see our Tailored Configs page or create your own using the 'Display and Rendering Tweak Notes' section at the foot of this page.
64 Megabyte Video Cards
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_forceDownSize "1"
seta image_lodbias "0"
seta r_preload "1"
seta r_skipBump "0"
seta r_shadows "0"
seta r_useOptimizedShadows "1"
seta r_useTurboShadow "1"
seta g_projectilelights "1"
seta g_bloodEffects "1"
seta g_decals "0"
seta g_showBrass "0"
seta g_muzzleFlash "0"
seta g_doublevision "0"
seta g_showPlayerShadow "0"
seta image_anisotropy "0"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST"
128 Megabyte+ Video Cards
seta image_downSizeLimit "512"
seta image_ignoreHighQuality "1"
seta image_downSizeBumpLimit "512"
seta image_downSizeSpecularLimit "64"
seta image_downSizeBump "1"
seta image_downSizeSpecular "1"
seta image_downSize "1"
seta image_forceDownSize "1"
seta image_lodbias "0"
seta r_preload "1"
seta r_skipBump "0"
seta r_shadows "0"
seta r_useOptimizedShadows "1"
seta r_useTurboShadow "1"
seta g_projectilelights "1"
seta g_bloodEffects "1"
seta g_decals "0"
seta g_showBrass "0"
seta g_muzzleFlash "0"
seta g_doublevision "0"
seta g_showPlayerShadow "0"
seta image_anisotropy "0"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST"
Display and Rendering Tweak Notes
Note: These are work in progress, more will be added over the coming weeks. To experiment with / use these settings try them at the console or create a file called autoexec.cfg in your Doom3 'Base' directory.
Some of the descriptions are currently taken from id software's in game list (listcvars)
NOTE: Some of these cvars are only suitable for multiplayer. In singleplayer you must determine if the trade off for FPS is worth losing some of the visual effects. As a guideline, faster is generally (but not always) uglier than slower =)
image_anisotropy Sets the maximum texture anisotropy if
available in the renderer. Set this cvar to 0 (faster) to 20 (slower)
image_filter Changes texture filtering used for mipmapped images
"GL_LINEAR_MIPMAP_NEAREST" (faster)
"GL_LINEAR_MIPMAP_LINEAR" (slower)
r_shadows Enables or disables shadows, very high FPS gain with the drawback losing shadows generated by enemies and objects.
Set to 0(faster) or 1(slower)
r_useOptimizedShadows
Determines if static shadow volumes are used
Set to 1(faster) or 0(slower)
r_useTurboShadow Use a faster technique for generating dynamic shadows
Set to 1(faster) or 0(slower)
image_roundDown Controls if incorrectly sized textures are resized so they are close to a power of two.
Set to 1(resize) or 0(no resize)
r_skipBump Controls bump mapping, can be set so that games uses a flat surface instead of bump maps
Set to 1(faster / uglier) or 0 (slower)
r_skipSpecular Uses black for specular lighting. Specular lighting adds texture to each object and adds additional lighting to their surface. Not worth the minor FPS gain in singleplayer
Set to 1(faster / uglier) or 0 (slower)
r_skipOverlays Skip overlay surfaces on textures. Negligible FPS gain.
Set to 1(faster / uglier) or 0 (slower)
r_skipFogLights Skip all fog lighting, negligible FPS gain.
Set to 0(slower) or 1(faster)
r_skipPostProcess Skip all post-process rendering such as distortion on windows glass / etc. FPS gain on some systems.
Set to 0(slower) or 1(faster)
r_skipBlendLights Skip all blending of lights, not worth the negligible FPS gain in singleplayer
Set to 0(slower) or 1(faster)
r_skipDynamicTextures Do not dynamically create textures, may help for slower systems
Set to 0(slower) or 1(faster)
r_skipMegaTexture Controls if the lowest level texture is always used. Not worth the , negligible FPS gain.
Set to 1(faster / uglier) or 0 (slower)
r_skipTranslucent Controls translucent interaction rendering such as the loading bar. FPS gain on some systems.
Set to 1(faster) or 0 (slower)
r_gamma Does not affect FPS, helps with brightness, do not set this too high or colours will become washed out. See r_lightscale.
Set between 1 and 1.5, adjust r_lightscale for settings high than 1.5
r_brightness Does not affect FPS, helps with brightness.
Set between 1 and 2, if brightness is still a problem use r_gamma and/or r_lightscale
r_lightscale Does not affect FPS, helps with brightness and raises the intensity of all colours.
Set between 2(default) and 3, only use when you feel r_gamma and r_brightness have not helped.
image_lodbias Controls lod bias on mipmapped images
Range from -2 (slower / crisper) to 2 (faster / uglier)
pm_runbob
pm_runpitch
pm_runroll
pm_bobpitch
pm_bobroll
pm_bobup
pm_crouchbob
pm_walkbob
Controls 'bobbing' up/down/side movement of player. Can help if you get motion sickness
Set each of the bob cvars to 0 to disable bobbing
image_downSizeBump
image_downSizeBumpLimit
Controls resizing of textures for bump maps. Helpful if your video card has less than 256 megabyte of video ram
Set image_downSizeBump to 0(disabled) or 1(enabled)
Set image_downSizeBumpLimit higher(slower) or lower(faster)
Try 512 for 128 megabyte video cards and 256 for 64 megabyte video cards
image_downSizeSpecular
image_downSizeSpecularLimit
Controls resizing of textures for bump maps. Helpful if your video card has less than 256 megabyte of video ram
Set image_downSizeSpecular to 0(disabled) or 1(enabled)
Set image_downSizeSpecularLimit higher(slower) or lower(faster)
Set to 64 for 128 megabyte or 64 megabyte video cards
image_downSize
image_downSizeLimit
Controls resizing of textures for bump maps. Helpful if your video card has less than 256 megabyte of video ram
Set image_downSize to 0(disabled) or 1(enabled)
Set image_downSizeLimit higher(slower) or lower(faster)
Try 512 for 128 megabyte video cards and 256 for 64 megabyte video cards
image_forceDownSize Forces resizing of textures. May not be worth the FPS gain in singleplayer
Set to 0(slower) or 1(faster)
ui_showGun Shows or hides your on screen gun model.
Set to 1(slower) or 0(faster)
image_useCache
image_cacheMegs
image_cacheMinK Controls memory set aside for temporary loading of full-sized precompressed images and files.
WARNING - When set incorrectly this can cause Doom3 to crash at startup or cause instability/graphical artifacts in game.
Set cache megs to a higher value if you have 512 megabytes or more of system RAM. Guideline is 1/6 to 1/4 of your system RAM.
Set image_cacheMinK to 2048, this can be lower but may cause Doom3 to crash.
Set image_useCache to 1 to enable background load image caching
image_useCompression Determines if textures are used compressed.
Set to 0 (uncompressed, high quality)
Set to 1 (compressed, slight loss of quality)
Important: Only set to 0 if you have over 256 megabyte of video ram.
image_useNormalCompression Determines how normal textures are compressed.
Unconfirmed settings:
Set to 2 for higher quality/larger/slower rxgb compression
Set to 1 for lower quality/smaller/faster 256 compression
image_ignoreHighQuality
Controls high quality settings on materials. Can give a minor FPS gain in singleplayer
Set to 0(slower) or 1(faster)
g_bloodEffects Controls blood splats, sprays and gibs
Set to 0 (faster) or 1 (slower)
g_decals Control if decals such as bullet holes, burns on walls etc. are shown
Set to 0 (faster) or 1 (slower)
g_showBrass Controls if animation of ejected shells from weapons is shown.
Set to 0 (faster) or 1 (slower)
g_skipFX Controls if additional in game graphic effects are used.
NOTE: This will have the side effect of causing your HUD to be hidden.
Set to 1 (faster) or 0 (slower)
g_skipViewEffects
Controls damage and other view effects
Set to 1 (faster) or 0 (slower)
g_projectileLights
g_skipParticles
r_skipParticles
Control if projectiles such as fireballs, etc. create dynamic lights or particles when fired (unconfirmed)
Set g_projectileLights to 0(faster) or 1 (slower)
set g_skipParticles and r_skipParticles to 1(faster) or 0 (slower). Do not alter r_skipParticles for singleplayer.
g_doublevision Controls if your vision is affected when you take damage.
Set to 0 (no doublevision) or 1 (doublevision)
g_muzzleFlash Controls muzzle flashes when you or the enemy fires a weapon.
Set to 0 (faster) or 1 (slower / more realism)
g_showPlayerShadow Controls your player shadow
Set to 0 (faster) or 1 (slower / more realism)
On to the ever so controversial VSync, should you turn it on or off? Well, the answer is: It's totally up to you, really it is.
The main differences are that with VSync off, the game seems to 'jump' more between a high and low fps, and with VSync on, it seems more fluently.
I still think TomaszGor said it best in his posts in this thread: http://www.rage3d.com/board/showthread.php?t=33758648
A snippet:
So, in summary, the ideal solution to all these problems is to have a very fast video card -- faster than anything available on the market. Then you can use vsync with double buffering and will get smooth constant frame rates, with no tearing, and low latency. Unfortuantely, we often have to make compromises! In my opinion triple buffering with vsync is a very good compromise, unless you need very low latency, in which case you can turn off vysnc and use double buffering.
As you see, don't forget to turn Triple Buffering on when having VSync on!
Moving along to some more advanced tweaks, here is something for you to try, posted by Humus here: http://www.beyond3d.com/forum/viewtopic.php?t=14874
First, open your doom3base folder. Doubleclick on the pak000.pk4 file. In the "window can't open this file .. .bla bla" dialog, go on and associate the file with an app like WinRar. With this file open in WinRar, go to the glprogs directory in the file. In there you'll find the shaders. The interaction.vfp file seems to be the main rendering shader. Altering this shader to output a constant color turns most objects into that constant color, except for stuff like computer screens etc.
So doubleclick the interaction.vfp file to open it (you may have to associate the .vfp extension with a text editor like notepad or wordpad first since we're going to edit the file). Scroll down to the fragment shader. You'll find these rows:PARAM subOne = { -1, -1, -1, -1 };
PARAM scaleTwo = { 2, 2, 2, 2 };
Add this right below them:PARAM specExp = { 16, 0, 0, 0 };
Now scroll down to this:# perform a dependent table read for the specular falloff
TEX R1, specular, texture[6], 2D;
Comment out that line by adding a "#" to it, and add another line that will do the same thing with math instead, so it should look like this:# perform a dependent table read for the specular falloff
# TEX R1, specular, texture[6], 2D;
POW R1, specular.x, specExp.x;
Save the file and close your text editor. WinRar will ask if you want to update the file in the archive, select yes. Close WinRar and enjoy about 40% higher performance in Doom3. Haven't done extensive testing yet, but my performance went from 34fps in 1280x1024 to 48fps.
And last but not least, turning off the shadows in the Advanced System Options helps out a lot! I gained 10 fps from it, and I am willing to sacrifice the beauty of the game for it. Try it yourself.
There you have it, my tweak collection, enjoy!
Participate on our website and join the conversation
This topic is archived. New comments cannot be posted and votes cannot be cast.