If you haven't housetrained Windows, then Windows will be a big part of the problem.
Basically, you've got to stop Windows Update from waiting until you're in a full screen application, like a game, before deciding that now, while the you need full machine access the most, is the "best" time to hog system resources with an update. Here's how I keep this under control
- Get Windows Update under control - or it will consistently ruin your gaming sessions by waiting until you're in the middle of a tense moment before killing your frame-rate (i.e. 60 fps down to between 5 to 12 fps) with an update. This begins with setting Windows Updates to "Manual".
- Uninstall kb3035583 ("Get Windows Ten"). If you're not getting Windows 10, why allow GWX to hog resources? And I have found GWX to be extremely disruptive.
- Make a decision about where you get your driver updates: Either through Windows Update or from the hardware proprietor - never both, ever, or one day they'll try to load different drivers at the same time which causes Windows to be unable to start ("Black Screen of Death"). This particular crash requires data recovery procedures and a full reinstallation of Windows (and all software, and housetraining Windows all over again = huge headache) but can be avoided by deciding whose drivers you are going to use ahead of time. Make that decision now. Write your decision on a paper sticky note and fix it to your screen if you have to. Never download drivers from alternate sources. The key, here, is to pick and stick.
- Make a ritual of always, every time you boot up your system, the first thing you always always always must do (multiple tautologies for extra emphasis) is:
a. manually update your antivirus program - don't wait for it to fire up mid-game.
b. start Windows Update manually,
c. check for updates manually (top left of window),
d. check for kb3035583, uncheck it and set that particular update to "hidden" if you find it,
e. download and install all other updates - with the exception of proprietary drivers if you've decided (as per point 3, above) to source those from Windows Update,
f. go get yourself an espresso for a job well done
g. close Windows Update once it's done - Start your game and wait for it to be full-screen. I never start the related third party applications before the game as I've found, in my case, that this always causes performance issues.
- ALT-Tab out of the game and start either FRAPS or AutoKey (or whichever programs you use with the game) but never start more than one third party application before returning to the game and verifying that your frame rate is acceptable. I've found that starting more than one third party application on a given ALT-Tab is guaranteed to drop the in-game frame rate to between 20 and 30 fps. Loading third party applications one at a time, however, fixes this issue for me.
The above procedures pretty much fix performance issues for me. The big problem, I find, with Windows, Vista and above, is it does far too much without asking the user first and there is far too little user control over what runs in the background. There are ways of setting these things up but access is not front and center, where it belongs.