Team Fortress 2, optimization, and insanity
It’s a pretty sad fact, but Team Fortress 2 is one of the most poorly optimized games available on PC.* Released what seems like an eternity ago, the game has nonetheless continually run worse and worse on my computer, even though my PC is faster than it was when TF2 launched.
What’s dragging it down so much? That much should be obvious: Valve has added new levels, new items, dozens of hats, miscellaneous extra, new particle effects, additional features, and probably a ridiculously secret ARG that will begin when the Steam community decodes the Pyro’s mumbles into an Arabic folk song played in reverse, played in binary.
Whatever the actual causes are, it’s fairly depressing that a game this old sometimes chugs along on my rig,** while games that came out much later, including Starcraft 2 and Battlefield Bad Company 2, breeze along on the same computer at max or nearly max settings. While I haven’t actually tried it, I had often wondered if my computer would fare better with the original Crysis than it would with our favorite hat simulator. Could anything make TF2 run at a consistent framerate?
After weeks of struggling to put together a workable config file, the ultimate solution left me scratching my head.
The problem
Before jumping into the gist of the matter, let’s review the Team Fortress 2 requirements, straight from Steam:
Minimum: 1.7 GHz Processor, 512MB RAM, DirectX® 8.1 level Graphics Card (Requires support for SSE), Windows® 7 (32/64-bit)/Vista/XP, Mouse, Keyboard, Internet Connection
Recommended: Pentium 4 processor (3.0GHz, or better), 1GB RAM, DirectX® 9 level Graphics Card, Windows® 7 (32/64-bit)/Vista/XP, Mouse, Keyboard, Internet Connection
When I first purchased the game back in its beta glory days, my setup was very close to the minimum. I had a single core processor clocked in the low 2 GHz range, 1 GB RAM, some terrible (but not integrated) video card, and the lovely Logitech G5 laser mouse. I don’t distinctly remember having an operating system, a keyboard, or Intenet access, but let’s just say those aren’t the required specs I usually worry about. Regardless, my settings were already in the low-to-medium range, but I had had no problem achieving a solid 40-50 fps in most instances. To me this made sense; I was running TF2 on a computer just above the minimum requirements, so getting a moderate framerate at the lowest settings was acceptable.
Of course, as the years progressed, so too did the game “improvements”, starting with the humble Medic and Pyro updates. Valve introduced new weapons and maps, and performance started dipping lower and lower. Since my computer was pretty old anyway, I gave it to Serge for his current MAME cabinet project,† and built a new computer from scratch (my first). While I nearly burned down my house and violated at least seven New Jersey state laws regarding radiation exposure, the new rig was complete and ready for action. With a Core2Duo E8500+, 4 GM of RAM, and the power of a Radeon HD 4600XT, it would seem, based on the recommended requirements, that this thing was ready to blow TF2 to smithereens.
After installing the “operating system” and putting out “electrical fires,” I booted up Steam, installed the game, and jumped in. My expectations were shattered like a stream of arctic urine being hit by a wayward snowmobile. Sure, the game ran better, but not by much. At the low settings, I was still getting just under 60 fps in most instances, and my attempts to push the game to the medium-high range were met with what can only be interpreted as Valve laughing at me. I couldn’t believe it, and I checked the requirements over and over. I had twice the processing power recommended, four times the RAM, a GPU that barely existed when TF2 was released, and I even had a keyboard and Internet connection.††
Baffled, I continued to play Team Fortress 2, albeit slightly begrudgingly. But as time progressed, so too did the deterioration of my gameplay experience. More and more weapon models were thrown at my computer, not to mention hats, new particle effects, hats, new lighting effects, and a Golden Wrench (I’m sure everyone had this problem). As of a few months ago, I was regularly hitting 25 FPS during firefights, which isn’t fun when it results in constantly missed backstabs, meatshots, and quickscopes. In effect, Team Fortress 2’s terrible optimization was costing me games. And sure, I’m just a mid-grade pubber, but this was insane.
Enter the 460GTX and Chris’ Configs
At this point I decided to once again kick things up a notch. I overclocked my CPU and bought a GeForce GTX460 SE, hailed by many as the new 8800GT. Right out of the box, I also OC’ed the card using the included Afterburner software to about 60% over stock. I tried Starcraft 2, which now played at maximum settings easily at 1680 x 1050, and also found that performance in Battlefield Bad Company 2, Portal, and yes, even Magicka, had all improved.
I started up Team Fortress 2, then used every ounce of willpower available to not throw my newly-minted Logitech G500 into my monitor.
60 FPS. 20 FPS. 35 FPS. 24 FPS. 55 FPS. My framerate was all over the place, and averaging only slightly higher than it had previously. Worse, it was still dipping into abysmal, nigh-unplayably low ranges. Desperate, I headed over to Chris’ famous TF2 config files and installed the maximum performance script, designed to eke extra frames from the game at the cost of it looking like it was made for Playstation 2. I started the program once again and almost nothing had changed. Yes, I was now getting 100 FPS in some instances, but in battles, it was still dipping into the 20s and 30s. And it looked terrible to boot.
I was on the brink of madness. I had built a computer that by all logic should destroy Team Fortress 2, a game that had come out years ago and which ran well on a computer that was easily one eigth as powerful as what I was throwing at it today. I mean seriously… what the fuck?!
With nothing left to lose, I was ready to give up Team Fortress 2 and write an angry letter to Valve (or more realistically leave a raging rant on SPUF). In one last act of defiance, I decided that if Team Fortress 2 wanted to kill my computer, it should deliver the finishing blow. I hopped back onto Chris’ config site and copied the eye-bleeding maximum quality config. This was a file designed to push the game to its graphical limits, enabling console options that mortal man was not meant to have knowledge of, let alone activate. I wanted to watch Valve’s bloated monster bring my rig to its knees, make it beg for mercy. I saved the custom file and booted Team Fortress 2.
121 FPS. 121 FPS. 120 FPS. 90 FPS. 119 FPS.
Wait… what? What the living shit?!
No seriously, what the fuck is this?
The game had miraculously been restored to amazing performance, while looking gorgeous. Team Fortress 2 was now using its highest level everything and it was blazing. Motion blur, 16x AA, cinema-quality character models, all kinda of fancy-pants lighting. And despite (or seemingly because of) the newly placed demands on my PC, it was all going swimmingly.
I’m not going to pretend to know how it happened. Maybe at some point in the distant past I had enabled or disabled a single config setting that caused Steam to shit my RAM into a toilet. Or maybe video cards are actually like muscles, and they need to be exercised to reach their maximum potential. Or maybe, just maybe, Artemis saw my pitiable final state, and she smiled down on me with an arrow or anisotropic filtering and a shining shade-filtering sword of justice.
But when it all comes down to it, who gives a shit? I could finally play Team Fortress 2.
* Whatever game you’re thinking of that’s worse, it’s not worse. Unless you were thinking of Magicka.
** E8500+ OC’ed, GTX 460 OC’ed, 4 GB RAM, 12 trillion fans
† True story, though I don’t know if that project ever came to fruition.
†† I double checked the wires, they were all plugged in!
I’m still working on it!
Haha, consider me shocked!
Woo. Team fortress 2. The only thing I sleep, eat, and think about. I mostly eat gibuses since they are SOO EXPENDABLE. But they taste like shit. Wait no that’s messed up. Shit doesn’t taste as bad as an achievement hat.
I have heard of that happening. People getting LOWER frames with Medium graphic quality but the instant they put it on Very High running in DX90909? 100+ Frames.
It’s mind boggling Wing.
Short time reader, here. I enjoy your articles very much. Especially the SC2 ones which let me get a glimpse of the players’ discussions and complaints despite not actually being able to play it myself.
Interestingly enough I recently discovered that my poor little Compaq with its 2GB of ram and “Genuine Intel(R) CPU” with 2ghz met the requirements for TF2 and can indeed play it moderately well on all low settings and smaller team sizes.
Perhaps I should try turning every graphics option to 11 and see what happens.
Glad to have you on the site! Good luck and don’t forget to join us on Steam!
WHY DID YOU NOT POST THIS SOONER?!? My PC’s been running the game like a goddamn sildeshow!
So, did his “advice” help?
I’m about to attempt this now. Here’s hoping it works…
You know, I’m gonna try this to see if it’ll work.
*computer implodes*
FFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU-
Oh wait…how do I DO all of this??? I’m looking at it, and all I could understand was the launch options…
The directions are on the main page but basically you pastry the whole thing into an autoconfig text file then delete the sections you don’t want.
I tried, but the max quality setting didn’t work for me. I had to resort to the “look like Minecraft” option, which runs a LITTLE smoother, and also giving me the ability to facestab Demos. But how can I know what parts I don’t need?
Read the comments that are in between each part. They’ll say “if you don’t want X, delete this section”
The GTX 460+ is optimized to run games at DX11. So when you put your settings to DX8 you were using an archaic render path for your brand spanking new card. People don’t realize how different DX8 and DX9 really are. DX9 was a big departure in that it took advantage of the latest hardware advancements in unified shaders.
I’ve heard that the DX8 support is partly responsible for dragging down TF2’s performance, since certain Source engine optimizations are only compatible with DX9+. L4D2, for example, isn’t DX8 compatible, which allows it to use those optimizations and run better on lower quality rigs. Depending on what, exactly, the config messes around with, that could be the reason you ended up with superior FPS.
In an amazing example of circular logic, Valve doesn’t want to remove DX8 support because a not-insignificant fraction of people still play TF2 with it, but given that Windows 7 ships with DX11, it’s probably fair to say that most DX8 users are voluntary and trying to squeeze extra FPS out of their rig.
I can fix up my shit now, if only my computer was working. *tear*
I actually don’t mind playing in Minecraft-mode. I actually managed to get some really good moments. Unfortunately, the replay feature failed to download two of them, and I was really pissed. Oh well, win some lose some.
I used to play in moreframes mode, which ironically increased both my frames and how TF2 worked. I was averaging 60 FPS out of fights, 40 FPS in fights; compared to my original 20 frames out of fights, 1 frame per minute in fights. Everything was fine and dandy.
Then came the Polycount update, which raped my mother and killed my computer. I went to 30 FPS out of fights and down to NEGATIVE 1 FRAMES PER MINUTE IN FIGHTS(don’t ask how that’s possible). So I installed Maxframes and now I get 40 FPS out of fights, 20 frames looking at someone.
It’s gotten to the point where I’m saving up to build a new computer just to play TF2. Which is ridiculous,. I don’t even do other PC gaming.
It doesn’t seem right when people spend hundreds of dollars just to play a $20 game.
Well it’s also for Portal 2, which limps like a dog with 1 leg in a race to a hot dog stand.
Hm. While this might help me out a bit, I still can’t get this one constant issue I’ve been having for months now. Every now and then, I get an extreme FPS drop, for like, 7 or 8 minutes straight. No matter how many tweaks I may make to the game settings, it doesn’t lessen the problem. When it finally stops, it just kicks back up about 10 minutes later. During that downtime, it’s quite literally impossible to play. I have NO idea why it happens, or how to fix it. =/
Just downloaded the MaxFPS settings cfg, and it did help dramatically, but the FPS drops are still happening. It goes from top notch, 120 FPS performance, to an annoying <40 FPS spree. Not as bad as before, but it is still annoying nonetheless.
I dont even now how to rate my fps ;p
* Whatever game you’re thinking of that’s worse, it’s not worse. Unless you were thinking of Magicka.
This.
Anyone got a fix for hl2.exe has stopped working, tf2, Vista? :[
There is no fix for that. How often are you getting it?
In W7, it still goes on…
I’m glad I’m not the only one that noticed how terrible TF2 is at being actually playable, but lately I’ve been running it with -dxlevel 81 in the launch options. Probably as a result of my aging nVidia 9400m motherboard graphics card it seems most of the problem is TF2s DX9 level shaders. Everything in the entire game bears resemblance to Play-Doh without the edge-highlight shader (among others) but the game actually runs at 40+ fps under most circumstances.
I will have to check out some of those config files though as I’m sure there’s a better way, especially as the water shader DX8.1 TF2 uses tends to distort the image of objects under water (when viewed from above water only) to the point of effectively hiding objects from view at most distances and making aiming at an underwater player impossible when you can see them in the first place.
Here are the two performance guides I posted on my clan’s forums:
http://www.topnotchclan.com/forums/showthread.php?t=7442
http://www.topnotchclan.com/forums/showthread.php?t=7762
I have my own FPS config which I think is a little better than Chris’, but his should suffice :)
Actually, Chris’ config has some bad cvars which might’ve even caused you some problems. Hit me up if you’d like mine.
Yes, accuse me of putting ‘bad cvars’ in there without even saying what they are, and then suggest people use non-existent launch options like -noipx, and claim that crash dialogs are a useless feature. It should also be mentioned that -64bit does absolutely nothing, despite your claims to the contrary.
Has anyone else tried this? …has it worked?
unbelievable…. a 3 year problem solved… by turning graphics to the max?
TY SO MUCH!!! :D
DX8 is slowly losing support by Valve, if you have a low end PC trying the dx9 frames would be a better bet if you’re struggling to find a performance boost with dx8.
I also echo the lack of performance that you can get with TF2, I recently bought a new PC that would blow TF2 out of the water, it runs BC2, Portal2, COD, SC2 in 1080p no problem, reaching 120+fps for all, but with TF2 it dips.
Back when I first started I used a Dell XPS laptop to play TF2, I’d get around 60 fps with the graphics on high, switched to an FPS config and I’d get 120+ all the time, now it struggles to hit 60+ with an fps config.
TF2 is free to play but it’s how many of those people that can actually play it which is the issue:D
You know what? I don’t even care that I have a 1.2ghz dual core piece of shit laptop, I’m trying it.
Wish me luck.
So i started to play Team Fortress 2 again today before a long time without it.
My pc specs are not the greatest:
CPU: E3400 2.60GHz
RAM: 2.00GB
GeForce GT 430
Not the greatest but i was supposed to play Team Fortress 2 smoothly.
Then when i went to the game… it was just ugly. everything at low specs… no AA… lagging as hell… no fun at all.
Before i go crazy and start to think that i got the worse pc specs ever i tried to find help.
Then i found this place i’ve read it all and did the same as WiNGSPANTT.
DAT GAME LOOKS GORGEOUS NAO.
AWWWWWW YEEEAAAAH BETCHES LOL
Thank you so much for the tip WiNGSPANTT.
The game looks fantastic now and is running smoothly as well.
Haha, glad it worked out for you!
F*ckin? amazing issues here. I?m very happy to see your post. Thanks so much and i am having a look forward to touch you. Will you please drop me a e-mail?
I’ve known about Chris’ FPS fixes for quite a while now, and of course he does an excellent job, I’ve stuck to the “Max Frames” which was terrible and so boring. Now, I hear about this “Max Quality”, I must defiantly try this and most surely say if it was good or not.
Pentium 4
GeForce FX 5500 Will it work??
Intel Core i7-2620M CPU @ 2.70GHz (4 CPUs), ~2.7 GHz
4098 RAM
Radeon HD 6750M with 1964 MB total memory
Copied the config to autoexec.cfg, setting launch parameters and running the game. It didn’t work. My fps is still stuck below 30, OFFLINE GAMEPLAY MODE. Did I do something wrong?
Also, the advanced settings in the options. No matter if it is low, or high, my framerates will ALWAYS be below 30. How can I fix this?
OMG this worked! Was having the same issues but with a 6870 and using that maximum quality config fixed everything! Get a good 95fps avg and up 145fps. Before it would mess up the way you describe even down to 25 fps for no reason at times. This fix it works. Who knew bumping the graphics would fix it lol Found this article googling around for 3 hours because I was so fed up with this issue and you saved me.
Hi guys, i’ running an old sys with
p4 3,4 ghz overclocked up to 3,6 and 2 gigs of ram on win 7.
i have the same issues like other ppl mentioned before. first of all ive bought a new radeon 7870, a monster. but in tf2 the fps is still dropping on fights between 20 and 40 fps, i’ve tried several builds the last months, switching between dxlevel 81 up to 98, using chris configs and gathering cfg’s from competitive players at twitched.tv.
installing razer gameboost and on and on…
nothing realy changed and the max quality config didn’t realy worked out.
does anyone knows if a change of fast z reject does a boost effect?
r_fastzreject -1 // Values >1 enable a fast Z rejection algorithm, to be
// performed on the GPU (as opposed to on the CPU). The
// value `-1′ autodetects hardware support for this
// feature.
i mean is it possible that my radeon 7870 gpu can boost my sys more than my cpu will normally do with any script commands?
The reason why the config worked is because you basically told the game to focus more on the GPU than the CPU.
As we all know, Source games like TF2 are very CPU-reliant. The config basically brought the graphical load for the GPU to handle while everything else is handled by the CPU.
That is why you’re getting 100+ frames with a GTX 460. I myself use a GeForce GT 750M + Intel Core i7 Haswell, a combo that, in theory, should obliterate TF2, and while it can handle 100+ FPS in the game, I get sharp FPS drops in a huge battle. The config should fix that.
What variables shift the calculations for graphical load over to the GPU?
I have a 540m, not exactly a powerhouse but enough to run Metro 2033 on medium-high and easily enough to hit 100+fps in tf2 but my frames drop in a firefight because of the CPU load. So I’m wondering what variables I can use in the config to shift more over to the GPU and get consistent frames.
Basically, any variable that is graphically heavy.
That said, you can’t make TF2 100% GPU-reliant. Like many modern multiplayer games, TF2 is CPU-intensive, meaning that your CPU matters more than your GPU.
And yes, it’s not the most optimized game on the planet, but hey, at least it’s not as awful as…GTA IV on PC. -__-