Long-time lurker, but first-time poster. I am hoping someone can shed some light on an issue that is making me want to punch things.
Basically, one of the PCs on which I do XNA development is having frame rate issues, seemingly randomly. I am working on a 2d side-scrolling platformer kind of game, and sometimes, with no warning, the frame rate will suddenly just drop and lock to 48 FPS. So, a few important points:
- When the game is running at 60FPS, Task Manager shows CPU usage at nearly nothing--between 1 and 3%. However, once the drop to 48 happens, CPU usage locks in at around 25%. Once it drops, it never goes back up. I just have to restart the game (sometimes it even does the 48 FPS thing immediately upon loading)
- The level I am testing on is built from Tiled maps, and scripted. There is no random generation of anything going on, and everything should be more or less exactly the same every single time I play it, which is why I say this is happening randomly. It also happens at random times, not like, when loading new maps or creating enemies or anything
- The PC I am working on is WAY overpowered to be having performance issues with this. It's not top of the line, but it's an i5, 8GB RAM, ATI 5770. I do plenty of gaming with pretty intensive games (not to mention other XNA games, like Terraria and Capsized) on it and it never breaks a sweat.
- I can run the game on another machine, and it has no serious frame rate issues--usually sticks between 55 and 60 FPS (and it is a slower machine).
I assumed I had made a mistake somewhere in my code and left a faulty loop running somewhere or something, but then I tested another developer's game on my machine, and the exact same thing happened. The game just throttled to 48 FPS. The fact that it happened in more than one game, both XNA, leads to believe something is amiss with my system, rather than my code.
Is this anything anyone has ever heard of? I updated my graphics drivers, Win 7 64 is all up to date, A/V up to date, etc. I also tried disabling vsync, thinking maybe it was trying to lock to a defective monitor or something, but it made no difference. Any ideas?
Could it be an IRQ issue, maybe with a wireless internet dongle or FireWire audio interface (admittedly, I don't know a whole lot about about how video cards deal with other system hardware)? It is driving me insane, when I am testing new code in my game and the frame rate just randomly drops.
Any ideas would be appreciated. Thanks a bunch!