Friday 21 June 2013

Windows Tweaks (That Don't Actually Do Anything)

In my experience, whenever you have a group of enthusiasts, such as gamers, gearheads, audiophiles, videophiles, or what have you, there's always a certain segment of "tweaker" types who must squeeze every ounce of performance out of their car, stereo system, gaming rig, and so forth. And invariably, this area is absolutely rife with bullshit claims and anecdotes.

Given my general level of OCD towards my Windows installation, I can't count the number of times I've come across various "Windows Tweaks" that will supposedly improve Windows' performance, and without exception, each one either does nothing to make your PC or faster, or actually make your PC more unreliable. Here are some of the more common claims I've heard, and why they're bullshit:



1: Disable Unneeded Services

This is probably the most commonly-suggested Windows tweak, the idea being that unnecessary background services are taking up CPU time and memory, and that by disabling services that you don't need you can improve the performance of your PC.

Well, here's a simple test you can run: close all programs, then bring up Task Manager. Under the "Processes" tab, you will see a list of all processes running in the background, most of which will be Windows services. Now, observe how much CPU time each one appears to be taking up. That's right, each one will almost always be at at zero, because services that aren't doing anything don't take up any of the CPU's time.

"But wait," you say, "don't these unneeded services take up memory?" Which would true, except that these processes take up a few megabytes of RAM at most, which is insignificant on a modern system with gigabytes of RAM.

In short, disabling a handful of services will not improve your system's performance in any noticeable way, and worse, should a day come when you actually need one of the Windows services you've disabled, you'll find that certain tasks or applications will fail.

2: Clear the Prefetch Folder

The Prefetcher is a Windows component, first introduced in XP, that stores a list of commonly-used files in the Windows/Prefetch directory. Each file in the Prefetch directory contains information about which components a program will load into memory when it is started, so when a user starts a program, Windows can look to the Prefetch folder to determine which parts of that application need to be loaded first. This has the effect of greatly decreasing the time it takes to start an application.

The problem is, some people seem to have gotten it into their heads that the Prefetch folder is a cache of commonly-used programs, and that over time it can fill up with unneeded entries, and thus should be cleaned every now and then to improve performance. But this is simply not true - the Prefetch folder is not a cache, and Prefetch entries are only references briefly when application starts. Furthermore, the Prefetch folder can only have a maximum of 128 entries, and Windows will trim unneeded entries on its own. There is absolutely nothing to be gained by manually deleting them (except, perhaps, a few measly kilobytes of disk space).

3: Clean the Registry

Another commonly-cited "tweak," to the point where there are dedicated registry-cleaning apps out there. The Registry is database that Windows uses to store configuration information about the operating system and any programs that choose to use it. Over time, the tweakers allege, the registry can get filled up with references to programs that are no longer in use, along with other detritus, potentially slowing down your computer OH NOES.

Except that these "unneeded" registry entries will consist of a few kilobytes at most, so any sort of performance improvement you'd get from deleting them would be negligible to non-existent. Worse, using a "Registry Cleaning" program runs the chance of deleting entries that you actually do need, potentially hosing your computer. The only conceivable instance where one would want delete registry entries is when an uninstalled application still displays entries in the Programs and Features list, and you want to get rid of them.

4: Disable Windows Search

Windows Search works by creating an index of specific files and folders, which is then kept in RAM. Every time you search for something, Windows simply looks through the indexed locations, which allows it to display the search results almost instantly, instead of having to search through every file on the hard drive.

So disabling the Windows Search will free up some RAM, at the expense of making file searches take longer. While this service can potentially slow down boot time by a few seconds, its impact on Windows performance as a whole is negligible. Plus, disabling Windows Search also disables the rather handy search function of the Start Menu.

5: Disable SuperFetch

SuperFetch is a feature introduced with Vista that pre-loads commonly-used programs into RAM, so that they will load much faster when you actually decide to use them. The downside is that it uses up a great deal of RAM, naturally.

The problem is, people seem to have this idea that RAM, once used up, can never been recovered, and so the system memory must be treated with deep reverence and humility, with proper prayers and offerings made, before it will permit you to store your data in its holy vessels. But this isn't how it works; far from being "bloating" the operating system, SuperFetch is simply using your PC's resources to their fullest. Should any application actually require whatever memory SuperFetch is using, it will freed as needed.

And what does disabling SuperFetch actually do? Nothing, except increase your boot and loading times.



2 comments:

  1. Sir, I have read your brilliant blog and would like to recruit you into a writing organization I run. We think you would be a perfect fit- please contact me at redrunescape@gmail.com

    ReplyDelete
  2. I will need to disagree with many statements as I build high-performance systems for research.
    The core component that you do not describe is the time lag in Window's management of these resources. I.e. Superfetch may EVENTUALLY release the memory used for superfetch, but there is a time delay. And that delay means *crash*. As well, your logs will be rife with 'Superfetch disabled', 'Superfetch enabled' entries, and 'File not found' errors.
    So, although I agree that these APPEAR to be minor changes, the effect on system performance in high-end computing will be apparent, noticeable, and valuable.
    Basically, gamers get their understanding from servers, and although all the recc's may not be appropriate for a home-brew PC used for gaming, you cannot say that these recc's are not valuable or represent a misunderstanding to their impact.

    ReplyDelete