How to diagnose poor FPS?
December 25, 2010 5:56 PM   Subscribe

My home built gaming PC has sub-par FPS. Nothing is obviously wrong, how do I go about diagnosing the cause? I don't know where to start. Lots of details inside.

It's not a cutting edge build, but I thought this PC should be able to handle almost anything out there on at least low graphics settings. I'm pretty tech savvy (I did build it) but diagnosing problems is harder than building it... If you can point me in the right path I can do the research. The build went without a hitch and I did a lot of research on parts.

First, what I play and why I'm here:
starcraft 2 - very poor FPS especially with lots of units on the map. I played a map yesterday with 5 players, and in the latter stages of the map where everyone was built up it was literally 1 frame a second.
team fortress 2 - FPS is OK most of the time (60s), but when there are lots of players it can drop into the 20s sometimes.

Specs on the build:
- intel core i3 processor (all factory settings - I haven't messed with overclock)
- XFX radeon 5770 card, 1GB vid ram specs Also factory settings
- Gigabyte P55-UD3L card specs
- 4GB of G skill DDR3 ram 1333
- windows 7 64 bit, recently formatted
- BFG 550W PSU
- 22" wide screen LCD that runs at 1680x1050 native

The only thing wrong with it is the PSU makes some weird noises. It's done that for months but seems to work fine so I don't worry about it. It's generally rock solid except the FPS issue.

Any advice? Were my expectations unrealistic with this setup? Thank you!
posted by bpdavis to Computers & Internet (16 answers total)
 
It may not be your rig, but your network connection. In fact, if your frame rates are dropping, variably, to as low as 1 FPS, it's almost certainly due to network issues.

You could also run Process Monitor or similar real time diagnostics during game play, to get stats on your machine's performance during "lulls" in gameplay.
posted by paulsc at 6:17 PM on December 25, 2010


If there is something wrong with the PSU, it could be sending variable power to your graphics card which could manifest in lower frames.
posted by lakerk at 6:20 PM on December 25, 2010


Latest chipset, graphics, and other related drivers installed? DXDiag run? BIOS checked out? How about your system event logs? All 4 GB's visable to the system? What's the memory usage when the games are slowing down? Does it sound like your hard drive is grinding away when the choppiness occurs?

Sorry for the barrage of questions there...just a lot of different ways to approach this.

Usually network does not cause framerate issues in games...but you rather experience the "lag effect" where your mouse and camera view moves fine, but your players and actions do not. What it sounds like in your case is a real framerate drop, which is usually due to a handful of things (video, chipset, hard drive, IO conflicts, heat issues, antivirus/copyprotection resource hogging, malware, etc)

To narrow it down, well, its not terribly easy but its possible. The process monitor linked above is a really good start. Also do a CTRL+SHIFT+ESC if you can play a game in window mode, just to watch the "Commit Charge" of your memory as the PC reaches the limits of its performance.

Update your video and chipset drivers in particular...those are the two most important related to this type of issue. Also take note of what devices share IRQs with your video card.

The PSU making weird noises is a good telltale too. Make sure you're not overheating due to a faulty fan. The more going on in a system ramps up calculations and the heat that they cause. Your PSU can be simply going into thermal protection mode, slowing down to cool off, when it gets too hot. Make sure all of your heatsinks have thermal compound and are securely attached to your processors, and that your temperature readings are within the ratings of the chips. (should be less than 71C for the Nehalem/i3 generation that you're using)
posted by samsara at 6:44 PM on December 25, 2010


*meant to say CPU is going into termal protection mode possibly...and could be mistaken for PSU fan noise.
posted by samsara at 6:46 PM on December 25, 2010


Response by poster: Thanks for the thoughts everyone. I recently updated the bios on the motherboard, and the drivers should be pretty fresh as I just formatted maybe 6 weeks ago. I checked the resource monitor under load, it says of the 4GB ram, 1.4GB is cached, 1.4GB available, and zero free. Commit is 3.5gb out of 8gb. Is that normal?

I installed the process monitor but admittedly I'm not sure what to look for - it's scrolling lots of stuff :)

Any recommendations on a good tool to monitor the temps?
posted by bpdavis at 7:10 PM on December 25, 2010


i would also look at the temps on the gfx card when the frame rate starts to drop out, the ati control panel should have them somewhere.
posted by ennui.bz at 7:38 PM on December 25, 2010


Commit is 3.5gb out of 8gb.

This could be it. Something's taking up a lot of your memory (security suite perhaps?). Once you run out of physical memory (at 4gb) your system is going to revert to virtual memory (using the hard disk for an additional 4gb, which is much slower and I/O intensive).

In your task manager, be sure to show all processes under the Process tab, and sort by memory used to find out which ones are taking up the most.
posted by samsara at 7:40 PM on December 25, 2010


I'm guessing you're playing Nexus wars or Desert Strike. Don't worry those maps are very cpu intensive even on the best graphics cards/cpu combos.

http://www.tomshardware.com/reviews/blizzard-entertainment-starcraft-ii-benchmark,2611-6.html

I use a similar setup for my computer and on those maps I have to turn the graphics quality to low for those maps. At the final stage you can easily get 1300+ units on the screen. Other than those maps your setup is fine for any other game you want to play on Starcraft.
posted by uffepeder at 7:59 PM on December 25, 2010


Something's taking up a lot of your memory

It's Windows 7's disk cache, and it doesn't matter.
posted by flabdablet at 8:45 PM on December 25, 2010


uffepedar has a very reasonable suggestion. However, Blizzard does a pretty good job of designing their games for moderate to good hardware though, and 1 FPS is unplayable. The CPU/GPU load from the game is the main cause, but you may be able to free something up to improve gameplay.

Process Explorer (or whatever process viewer you choose) is great, but if you don't know what to look for, it won't help much. You could just Google every thing on the list and make a note of what it is. This sounds like a ridiculous amount of time - it can be, the first time. But once you know all your machine's processes, and come to know them like family, life will be a lot easier if and when some new process shows up and starts eating CPU.

As samsare said, network issues don't usually show up as framerate issues. Framerate and network lag have some similarities, but have consistent dissimilarities that make them clearly distinguishable. For example, if your mouse is lagging/jumping around, it's local to your machine. If gameplay freezes up and the system seems to respond just fine to other input - moving mouse, alt-tabbing out - it's network/server issues.

Depending on your motherboard and video card, the power supply may be causing strange things to happen. Some advanced video cards will reduce their output or GOU load based on the ability of the PSU to supply consistent power. If the PSU output is fluctuating, that can cause weird video issues. 550 watts is a good power supply, but 750 and 1000 watt PSUs are very common. The minimum power requirement for the card you linked is a 450W PSU - so the card/mobo/peripherals may be pushing the PSU just a little.

All that being said, I don't think it's hardware. You probably have some stuff going on in the background that is fine until you hit heavy game demands.

Spybot (free) from Safer Networking has a nice tool in it that lets you see all your startup/resident applications, and you can disable them.

Glary Utilities offers a nice free registry cleaner and general purpose routine maintenance tool that - if I recall correctly - also has a startup manager.

Sysinternals was an independent third party that offered great little Windows tools. They got sucked up by MS, who inexplicably continues to offer the tools for free. Look on the left side of the page for the downloads. Process Explorer is a tiny little app that does what it says on the tin. You'll have to answer some front end licensing garbage from MS when you run it, but it's no big deal. Some of their other tools are just mind blowingly simple and cool. Autoruns will also help you clean up apps that like to run in the background.

One more tip: Open your Control Panel. Open the "Java" control applet panel. Click on the "Advanced" tab. At the very bottom, expand the "Miscellaneous" subtree. Un-check the "Java Quick Starter". You will free up a buttload of CPU that is completely wasted by this evil resource sucking POS. Please note that after every Java update - about once a month - you'll need to go back and disable this. /soapbox

Good luck! and Merry Christmas :)
posted by Xoebe at 9:10 PM on December 25, 2010


Fire up performance monitor (type performance monitor into search box of start menu) and let it run while playing a game. Set up trackers for cpu%, current disk queue length to start with. If either of these start to spike when the gameplay drops, you can narrow down. If the disk drops, your disk might be failing, or super fragmented, or bad drivers. If CPU spikes near 100%, you'll have to figure out which processes are hogging CPU and eliminate or fix them.
posted by gjc at 9:23 PM on December 25, 2010


What virus checker are you running? If it isn't Microsoft Security Essentials then move to that. Windows has a perfectly good software firewall already and most of those all-in-one security suites tend to slow down a computer.
posted by mr_silver at 1:33 AM on December 26, 2010


I've personally had weird, inexplicable things happen to school computers with MSSE installed that stopped happening when I took it off. These days I'm using and recommending Panda Cloud Antivirus (free for personal use or on any number of workstations in a non-profit org) on all the Winboxen I admin. It's quite unobtrusive and works very well.
posted by flabdablet at 2:18 AM on December 26, 2010


I am embarrassed to admit that once I went out and bought "SUPER DUPER GRAPHICS EXTREMO 5000!!!!" and when I got it home and rebooted etc to test the new super awesome graphics I was promised, it was severely under par. Then, on looking inside the PC I noticed that there was a power slot on the graphics card. Since when did graphics cards not get enough power from the bus? Since last time I bought one apparently. So I plugged in the power, rebooted again and voila... super awesome graphics.


Perhaps, as your system is home built, you made the same mistake I did?
posted by dougrayrankin at 5:35 AM on December 26, 2010


It's Windows 7's disk cache, and it doesn't matter.

True in most non-gaming cases, although from your link there was also this bit towards the bottom:

"Although I am a total believer in the system-memory-as-cache religion, SuperFetch can still have some undesirable side effects. I first noticed that something was up when I fired up Battlefield 2 under Vista and joined a multiplayer game. Battlefield 2 is something of a memory hog; the game regularly uses a gigabyte of memory on large 64-player multiplayer maps. During the first few minutes of gameplay, I noticed that the system was a little sluggish, and the drive was running constantly. This was very unusual and totally unlike the behavior under Windows XP. Once the map is loaded and you join the game, the entire game is in memory. What could possibly be loading from disk at that point? Well, SuperFetch saw a ton of memory freed to make room for the game, and dutifully went about filling the leftover free memory on a low-priority background disk thread. Normally, this would be no big deal, but even a low-priority background disk thread is pretty noticeable when you're playing a twitch shooter online with 63 other people at a resolution of 1600x1200."

3.5gb is a decent chunk too, especially if that was taken from idle. Normally you'll want to see Windows 7 at about ~1-1.5gb commit on a normal 4gb system (with antivirus etc and standard services running). Maybe try stopping the SuperFetch service while playing to see if it makes a difference?
posted by samsara at 10:57 AM on December 26, 2010


If Superfetch is a culprit, its still a good thing to have on to some degree. Here's a tweak to have Superfetch only cache program files instead of all files
posted by samsara at 11:01 AM on December 26, 2010


« Older Joe's Garage, Evergreen Van Lines, etc.   |   ¿Como se dice "Reprogram the remote"? Newer »
This thread is closed to new comments.