Well, now that Doom 3 is finally out, there's many ways of tweaking it to increase performance.
Doom 3 keeps all of the game files compressed in five big files (pak000-pak004). Doom 3 extracts the game files it needs on-the-fly when the game is playing, this puts a huge strain on the CPU, and also other system resources.
You can use Winrar to manually uncompress all the game files and dump them in your base folder. Just use Winrar to open the .PK4 files the same way you would open a rar file, and click extract.
What your base folder should look like after extracting the files:
Now move your five .PK4 files into another folder so Doom 3 will use the extracted files instead of the .PK4 files.
If you want to play online, you'll need to use the PK4 files, which is why it's a good idea not to delete them.
You should now notice a substantial FPS improvement in Doom 3.
Now if you want to further improve performance, you'll need to create an autoexec.cfg file in your base folder, to do this, simply create a new text file in the base folder and rename it to "autoexec.cfg" without the quotes.
Open up your autoexec.cfg file in notepad and add the fallowing:
seta com_videoram "64" - This tells Doom 3 how much ram is on your videocard, if you have a 64 meg videocard, then you leave the value at 64, if you have a 128 meg videocard, then you enter 128, and so on.
Next you want to create a cache to take advantage of your systems ram, this stops game slowdowns when entering other areas in the game:
seta image_useCache "1"
seta image_cacheMegs "256"
seta image_cacheMinK "20480"
The seta image_cachemegs should be set to one fourth of your tottal system ram, but feel free to set it as high as you feel your system can handle it.
I don't feel like explaining the other various tweaks you can enter, but here's the contents of my autoexec.cfg file for you to use and change as you see fit:
seta com_videoram "64" //64MB video card
seta image_downSizeBumpLimit "512"
seta image_cacheMegs "96"
seta image_filter "GL_LINEAR_MIPMAP_NEAREST" //as opposed to _LINEAR
seta image_anisotropy "0"
seta g_decals "1"
seta g_projectileLights "1"
seta g_doubleVision "1"
seta g_muzzleFlash "1"
//level and room loading tweaks
seta image_useCache "1" //otherwise the next line won't do anything
seta image_cacheMegs "350" //this is 1/4th of 1024 (megs of RAM)
seta image_cacheMinK "20480" //some special cache in KB, chage it or the game will freeze.
seta com_showMemoryUsage "0"
seta show_mem_on "com_showMemoryUsage 1; set show_mem vstr show_mem_off" //Shows how much emory is being //used by pressing ]
seta show_mem_off "com_showMemoryUsage 0; set show_mem vstr show_mem_on"
seta show_mem "vstr show_mem_on"
bind "]" "vstr show_mem"
seta com_showFPS "0"
seta show_fps_on "com_showFPS 1; set show_fps vstr show_fps_off" // Shows the FPS, toggled on/off by [
seta show_fps_off "com_showFPS 0; set show_fps vstr show_fps_on"
seta show_fps "vstr show_fps_on"
bind "[" "vstr show_fps"
Feel free to ask any questions about these tweaks, I'll try to answer.