Discovering Bottlenecks in PCs Built for Gaming? 142
QMan asks: "I, like many others here at Slashdot, am an avid gamer. Recently, I've been thinking about upgrading my gaming PC, but with all the mish mash of components in the box, I don't really know which components are slowing down the rest, and would be an ideal candidate for replacement. I'm looking for advice on how to discover the inherent bottlenecks in my system, whether they be from my video card, RAM, CPU, or other components. I've tried various benchmarking utilities, but they generally give an overall performance rating, but not much info on which device(s) had the most impact in limiting that rating. I'd imagine many of you out there have encountered the same problem, and might have ideas on where to start."
RAM matters most, hard disks are slow (Score:2, Informative)
Get as much ram as you can afford. Presume you are
running Windows -- so turn off the swap file if you
have 1.5 - 2GB of ram. The difference in performance is
astounding.
Besides that, turn off unneeded services and keep your
system clean of spyware. Most "slow" systems I come across
aren't that slow at all, they are just poorly configured.
One idea... (Score:2, Informative)
My Personal Experience (Score:4, Informative)
Re:OS? Hardware? (Score:5, Informative)
A site that I have always found helpful is AnandTech [anandtech.com]. Every couple of months or so they publish a guide on recommended hardware for different performance levels of computers. The systems they recommend are usually designed so that no one piece of hardware is a bottleneck on the performance.
The operating system! (j/k) (Score:4, Informative)
Now what you should do is, first of all, make sure that you have enough RAM. Observe your hard disk drive activiy LED while playing games. If your game stumbles, you'll need more RAM. And let me make this clear, the minimum today for gaming should be at least 1GB. If your games require more, feed the beast with fresh RAM DIMMs.
The second thing you want to do is to open your task manager and then starting and playing your game. The task manager will then create a graph of the CPU usage which you'll be able to look on later. Does the CPU spike for a while? Is it always on the edge? A new CPU will cure!
Otherwise, it is safe to assume that your video card is up for an upgrade.
Really, there aren't many bottlenecks possible in a gaming system. Everything is logical.
Benchmarking (Score:3, Informative)
This will let you work out which pieces of hardware are not up to scratch. Then you just have to work out whether they're responsible for whatever 'bottleneck' you're trying to get around.
Re:RAM matters most, hard disks are slow (Score:5, Informative)
Other than the obvious suggested already, disk management is often overlooked. After you uninstall or install a game, defrag the drive. Applying a patch? Defrag. Changing the size of your swap file? Defrag.
Shut off indexing. Shut off any service you don't need or use.
Clean out
Reboot every 48 hours or so.
Re:RAM matters most, hard disks are slow (Score:3, Informative)
This should answer your question:
http://majorgeeks.com/page.php?id=12 [majorgeeks.com]
Re:OS? Hardware? (Score:5, Informative)
You should start recordings for:
Physical Disk >> Reads/sec and Writes/sec
Memory >> Avalable MBytes
Processor >> Priviliged, Processor, and User Time
Now that you have these counters running, fire up a game that you like. After you play a few rounds, you can look back at the charts and see the data. Interpreting the results can be very difficult.
If you are seeing processor usage 100%, then your video card may be holding you back. If you see excessive hard drive activity, maybe more RAM or a RAID0 setup could help.
Just look at the charts and see what jumps and when.
Most games are optimized to use RAM and proc when in-game. But if you see excessive periods where one line is 100% while the other lines are 70~80%, you'll know where the bottleneck is.
Re:None of you are answering the question... (Score:5, Informative)
It's called trial and error, and it takes time to figure things out for yourself.
Don't try the all encompassing, single pass, benchmark utilities as they are too general.
#1 - Memory - It's been repeated here multiple times - Gaming takes memory - I won't play on a gaming rig with less than 2GB RAM. Disable virtual memory (as stated earlier as well) - try downloading TweakXP from totalidea - it has some nice memory tweaking settings that take the guesswork out of things.
#2 - Benchmarking / Tweaking / Re-benchmarking...
SiSoft Sandra (as mentioned earlier in this thread) is a good start. It has several modules, which can be run individually.
Go through your memory benchmarks - tweak settings in the BIOS (if they are available for tweaking), then re-run - DOCUMENT your changes, 1 change at a time - it's time consuming as hell, yet it's the only way to truly know what changes caused what differences in performance.
Run the disk benchmarks, tune the cache settings in the registry, re-run the disk benchmark, then re-run the memory again to see what impact having changed the disk cache has on memory performance.
Networking - if you are using a motherboard, with an embedded network interface, and it's not a hardware (ie seperate chip) implemented network interface - replace it with a card - software based network interfaces, running from chipset/cpu ruin system performance.
Places like http://www.dslreports.com/ [dslreports.com] under the tools section have some decent tools for examining your system settings, and suggesting changes to optimize throughput.
Playing with QOS settings may also effect network performance.
#3 Video - what games are you planning on playing, what refresh rate does your monitor support?
If your monitor only supports 60hz refresh, then it doesn't do a lot of good to go out and get that 80fps monster video card (unless you plan on replacing the monitor). The only place this isn't true, is in the digital realm of LCD monitors, where the faster you can refresh the image, between syncs, the better off you are.
Monitor - if using an LCD, what's your black to black / white to white delay? Replace the monitor if it's over 8ms - as that may introduce ghosting while playing. (I personally use a Viewsonic VX922 - with 2ms black to black / white to white - it's awesome IMNSHO)
HTH
Re:OS? Hardware? (Score:5, Informative)
Some simple things to do (Score:5, Informative)
1. If you see the disk activity LED lit up a lot, you probably need more memory. The system is trying to extend the memory of the system by swapping data from RAM to disk and back. If you had more memory, the system would be able to keep more data in RAM. You can also confirm this by looking at the memory usage statistics in Task Manager (assuming this is a Windows box).
2. Another thing you can see from Task Manager is the CPU utilization. If it maxed out at 100%, the CPU is probably the bottleneck, so you may benefit from having a faster processor.
3. If neither of these things is the issue and the game you are running has a lot of complex graphics going on, then the issue could be your Video Card.
In my limited experience with benchmarking games, these seem like the three most common bottlenecks.
Re:OS? Hardware? (Score:3, Informative)
Bottlenecks can be non obvious also like an underpowered power supply.
Re:None of you are answering the question... (Score:5, Informative)
For example, one app/game (say your average FPS) might have the polygons and maps neatly optimised in memory (assuming you have enough) just loaded at the start of the level while you might also play a flight simulator which will be constantly streaming data from the hard drive. For the first game getting a 1337 SCSI hard drive won't help a bit, but it'll probably make things easier on the flight simulator.
For memory, having 2GB vs 3GB on a game that only uses 1GB of memory won't do you any good. Having less than required would be horrific though, especially if you don't have that 1337 SCSI hard drive to cope with all of the swapping from disk. Having extremely quick 2GB memory might help compared to slow 3GB memory, however for games like RTSs where the units are probably all held on display lists on the video card anyway there won't be much streaming of memory to the video card so having faster memory won't help *all* that much (don't get me wrong, it will help, just not as much as you might hope).
I'd guess that most games now-a-days would be a balance between an uber video card and an uber CPU. Of course each different game would have a different optimum balance so I guess you're stuffed there.
Wow, looking back at my message I realised that I said lots of interesting things that didn't help one bit in answering the question except by saying "Nice try mate, but it's not that simple". Anyway I'll stop now.
Re:The operating system! (j/k) (Score:3, Informative)
General performance guide (Score:5, Informative)
Outside those general things, another thing to keep in mind is the more hardware devices like printers and scanners that you have plugged into your machine the more often the CPU polls those devices during each cycle. Also allowing third party applications to automatically launch and idle while you play will hurt performance.
Hope this help. Game on.
Re:OS? Hardware? (Score:5, Informative)
(It's a Windows machine, as the majority of newly released commercial titles don't play well with Linux.)
It's a multi-tiered question. I've built a number of gaming machines in the past, and upgraded various components over the life of each machine. I've always wondered if there is a way to figure out if getting a video card with more texture memory would help much, or upgrading to faster or less latency RAM would help, or all that's needed is just getting _more_ of it. It doesn't really help to get RAM though if the CPU/GPU/HardDisk is the bottleneck. Thats why I was asking the question in the first place. I'm sure a lot of people who upgrade their gaming machines might get help from this as well. This is for all of us who want to upgrade, but are not quite sure which component needs it the most.
For reference, I've been building machines on a medium budget, getting middle to upper class hardware. I've got a gig of 3-3-3 PC3200 RAM, a nice SATA RAID0 array, a GeForce 6800, and an Athlon64 3200+ rig. I know that most components I have could be upgraded, but not intrinisically which ones are the most crucial to performance. I play all sorts of games, from RTS (AoE, Empire Earth, etc) games, to FPS (Quake 4, UT2004), to simulations (SimCity 4).
-QMan
Re:RAM matters most, hard disks are slow (Score:5, Informative)
Nope, theres a long list of apps that wont work without a pagefile. MS advises against it too. I wouldnt suggest this without telling people that they will run into weird problems.
Re:RAM matters most, hard disks are slow (Score:4, Informative)
Windows loves the page file. Windows is constantly paging out programs and data to the pagefile in order to have a block of memory available to launch a new program into. However, Windows still retains the data in ram so long as the ram isn't needed for something else, so if you have to pull up that program or data again, Windows won't have to go to the pagefile to get it. However, Windows still counts that memory as available (since it has already been paged out), hence the reason why the numbers in Task Manager tend to not add up quite right. Overall, the system works quite well, especially for computers with a modest amount of ram.
The problem is that Windows is still aggressively paging out data on high memory systems, when there really isn't a reason to have 800MB-1000MB or more of memory available at any time. The only way I know to really change Window's behavior is to disable the pagefile (which I don't do). What I do recommend is setting the page file to a set size, and using a defragging program to make it one large file at the beginning of the drive. If you have a second harddrive that is fast, it is probably better to put in on the beginning of the second drive.
Re:OS? Hardware? (Score:3, Informative)
CPU is never the problem- for the past decade or so, the CPU has been so fast compared to RAM that it can't get enough memory.
RAM- you need enough RAM so you don't hit swap. For today's games, thats 1 GB. After that, the number 1 thing you can do to improve system performance is to get low latency RAM. Your CPU will be waiting for RAM, minimize the time that it is.
Video card- how much do you insist on high end features? All you really need is enough vram to fit all your textures in. Over that is wasted. The bleeding edge graphics cards have features games don't even take advantage of yet. I typicly buy 1 gen behind, to save cash. But unless you have a several gen old card, this won't be a bottleneck. It'll be RAM.
Re:OS? Hardware? (Score:1, Informative)
But if you use a little intellegence and some methodical testing, you really
can figure things out about your system.
For instance, you can select a high resolution on your graphics card, then
run quake or some other benchmark. Lower the resolution until the frame
rate doesn't get any higher. At that point, you are CPU limited.
If you removed memory from your system, you could also figure out if
memory was a problem.
I suspect there are lots of settings on the BIOS screen that could
help as well. You could change bus, cpu or memory speeds and see
if anything is affected.
Low latency ram is garbage (Score:4, Informative)
Well, ok, it's not trash-junk, but it's not up to the hype either. There was a review on TechRepublic [techreport.com] a while ago that I'm pretty sure made it to slashdot (if not, then digg). Basically it showd that Low Latency RAM in itself made little to no difference and more RAM was always the way to go.
That said, Low Latency ram is not entirely a waste of money. Low Latency ram has a better shot at overclocking (like turning DDR 400 into DDR 450 by relaxing the timings and pumping the clock rate.) It's also more likely to be higher quality and thus less likely to go bad on you. As an asside, if you're interested in RAM in general, I've found this site [xtronics.com] very informative/userful.
But I would minimize the value of Low Latency in and of itself.
Re:OS? Hardware? (Score:3, Informative)
I think the main things in order are:
A recent card revision. That 6800 ought to do ok as long as you're not maxing the quality settings.
A video card with a decent amount of RAM. Currently that's 256Meg, although some games have ultra settings that will make use of 512.
System RAM. A gig should be fine for most situations less is likely to cause issues. 1.5 to future-proof a bit or use absolutely top end features.
Processor. As long as it's fairly recent you should be fine. Anything over 3Ghz equivilent will be comfortable.
Re:OS? Hardware? (Score:4, Informative)
... Which is one reason why loads of people suffer from the infamous 'stuttering' in Half-Life 2.
The game uses a 'soundcache [valvesoftware.com]' to keep the first 125 milliseconds of all referenced sounds in memory. If a sound needs to be played which isn't fully in memory yet, it starts playing that 125ms while streaming the rest of the data in from disk.
If many new sounds are needed simultaneously, or the hard disk is particularly slow, then you get a glitch in the audio.
Have a fairly fast disk, and things improve considerably - and maps load much more quickly too, thanks to the many megabytes of textures...
Re:OS? Hardware? (Score:3, Informative)
Hard disk is never the problem- games are not disc intensive. You might speed up laods slightly with a faster disc, but not by much.
This is mostly true, however no matter how much RAM you've got you still need at least a 512MB paging file somewhere on your system. Since the PC isn't a dedicated gaming machine you can expect Windows to fiddle with all kinds of stuff in the background which will invariably draw on the swap file. Since this guy has RAID it's a non-issue though since he's in good shape.
CPU is never the problem- for the past decade or so, the CPU has been so fast compared to RAM that it can't get enough memory.
Very untrue!! This may have been the case a decade ago but no longer. Today's games are very physics and AI-intensive which are pure CPU functions. Since this chap has a halfway decent video card he may be experiencing reductions in frame rate caused entirely by a lagging CPU. An Athlon XP 3200 is definitely no the best gaming CPU you can get (though the new 90nm 939s are faster than older chips with a faster clock rate on a bigger die).
RAM- you need enough RAM so you don't hit swap. For today's games, thats 1 GB. After that, the number 1 thing you can do to improve system performance is to get low latency RAM. Your CPU will be waiting for RAM, minimize the time that it is.
Sorry, I disagree again. 1GB ain't what it used to be. Today's games can populate an entire gig of RAM on their own - especially if the video card has lots of texture memory and is running at high resolution with antialiasing. You're correct about low latencies though. It would be best to get OCZ registered RAM, and no less than the maximum speed for Athlon 64 which is 400mhz.
Video card- how much do you insist on high end features? All you really need is enough vram to fit all your textures in. Over that is wasted.
VRAM is not limited to storing textures; It is used to store the next rendered frame (or frames) in sequence. Nobody really needs more than 256MB of VRAM these days, but that's going to change within a year. More VRAM is particularly important for people with large and\or widescreen monitors since they'll have to play at higher resolutions and probably with antialiasing. Storing frames with so many pixels takes a lot of memory, and without it you may find that increasing resolution or AA will crash you out of a game. (been there)
Re:OS? Hardware? (Score:3, Informative)
What you're saying makes perfect sense, but who says Windows makes sense? There are many Windows apps, first and third party, that assume you have a swap file. I've tried disabling the swap file (I have 1.5GB of DDR) which had horrendous results after a short time. I've also tried creating the minimum swap file allowable (2MB) which was annoying as well. Both scenarios yielded an error message saying "Windows has run out of virtual memory".
You're 100% right that the swap file is often overrated (whoever made up the 250% swap file to memory ratio was from a bygone era where RAM was $100\meg) but it's not completely worthless. Windows loves swapping so you gotta do it to some extent. I find 512MB on a separate fast hard drive, or on the system partition if you only have one drive, works best.
For the king of all swap file guides, check this out - http://www.rojakpot.com/showarticle.aspx?artno=14