One HUGE complaint about TF2 is how poor many people's fps has become since all the hats and weapons have started rolling out. With every new update, the game gets a little harder for your PC to run, both to render the different player models, and just to keep up with the new particle effects.
A lot of people complain about the game being "optimized" poorly. What this means is that the TF2 GCF files (the ones that contain all the map data, model data, etc) aren't set up to run as smoothly and efficiently as possible anymore. In fact, every time your game is updated, you take a hit to performance, and there's no way around it. For some people, this manifests itself in much, much lower fps. Others see little to no aftereffects.
In this article, I'm going to show you how to speed up your game a little bit, and potentially get your game playable again if you're one of those poor folks for whom updates killed TF2!
STEP 1: Defragmenting your game files
There are two ways to do this. One is a bit extreme, and the other is more convenient; however, I've had good results from both. The first way is faster: download a program called GCFScape from here. This program will allow you to open the .gcf files that TF2 runs on. Run the program once it's installed, and tick the "write access" and "validate" boxes under the options menu. You'll need to place a copy of HLExtract.exe (found here) and hllib.dll in your steamapps folder. Then, close GCFscape and any running processes of steam.exe. Open up notepad, and type in the following exactly as shown:
for %%F in (*.gcf) do "HLExtract.exe" -f -p "%%F"
Save this as gcfdefrag.bat [important: NOT .txt], and copy it to the steamapps folder. By double clicking this .bat file, you will automatically defragment all the steam-related .gcf files in your steamapps folder.
Alternately, you can backup all your configs, maps, and custom sounds/models, and just delete the entire steamapps\nameofyouraccount\"team fortress 2 folder". Don't worry, you'll still be able to reinstall the game, and you won't have to download the game again. When you run TF2, it will re-install the game from the .GCF files, and you won't lose anything. Basically, all you're doing is cleaning out the temporary files (the player avatars, sprays, etc) from the game files, so it doesn't have to keep them all archived.
Additionally, you can run the Checkdisk utility to fix errors in windows, which commonly appear in the steam folder. Just go to My Computer > Right Click TF2 HD > Properties > Tools > Error Check > Check Now and click both checkboxes. After restarting, you should find that the game runs smoother.
STEP 2: FPS configs
An FPS config is specifically designed to give you more frames per second by tuning down graphics settings that aren't modifiable through the "graphics" section of the options menu. Oftentimes, people have reported FPS gains of 20-40FPS using these configs, and most people can't honestly tell the difference in the look of the game!
Here's two FPS configs that I have used to great success. I included a little detail on both of them, so you could get a good idea of what risks/advantages to expect.
Chris's TF2 config: http://www.fakkelbrigade.eu/chris/configs/
Probably the most widely-advertised configs, this set (maxframes, highframes, and dx9frames) will in most cases give you 10-40 more FPS. However, for reasons I can still not figure out, some people have reported extremely strange sensitivity issues with their mice after installing the config. I personally had this problem with an older laptop--the config seemed to change the DPI setting of my mouse, making it feel like I had some sort of mouse acceleration turned on. It was pretty terrible, even though I was getting 80+ fps because of the config, whereas before I was running at around 25.
m0re's FPS config: http://m0re.nocrits.com/
The more well-known of the two, m0re's config doesn't give quite the FPS boost that chris' does, but it seems a lot more stable. You can find the links to his FPS configs at the top of that page. I saw gains of 10-20FPS on a 32man server using the m0re configs, and I never had crashing issues, or the aforementioned sensitivity issues.
If you don't want to mess with configs, doing something as simple as lowering the DXlevel of the game will give you a hefty boost to fps. By navigating to the launch options (in the steam library screen, right click on the game, select options, and then click launch options on the first tab) and typing in -dxlevel 81 , you'll find that many of the game's particle effects are reduced, making it much more playable.
Please comment if you use these, and tell me how well/badly they worked for you! I'd love to modify this information with y'all's feedback!
UPDATE: I've updated this information, and added some more in This post! Please check it out and tell me what you think!