There’s an acronym from the past for you. Run Time Improvements (RTI). I am always looking for ways to squeeze another speed improvement out of Windows Vista. In fact, a few weeks ago I made some changes to my Dell Latitude D820 and it made a very real difference in how the machine performed.
Before I list out all of the stuff below, keep in mind I am willing to sacrifice some features for the sake of overall system performance. I’m usually looking for all of the horsepower out of my machine for a couple of reasons. Video encoding or virtualization workloads.
I don’t need eye candy for those two purposes. I don’t need a search index. I don’t need the system to anticipate what the next ten programs I am going to launch are going to be.
If I dial back some of these features in Windows Vista, am I losing some key features? Absolutely, positively yes. However, information is power so get ready because I’m going to arm you with some of my tricks and you can decide what you like and dislike. One thing before we move on… I don’t recommend turning off security features but I do make one exception to this rule. More on that later.
Fast And Easy
I like to keep things simple so we’ll start with the easiest first. Remember the dialog box just below? I know you’ve probably stumbled across it. It’s in nearly all of the operating systems we’ve produced yet most people don’t make any changes to it.
I do. These settings alone can have a rather profound change to the way application windows and dialog boxes display, move, minimize or disappear. Eye candy takes horsepower and don’t underestimate the visual impact. Before we get to the disable list, lets talk briefly about two of them.
Animation and fading take cycles from the CPU and GPU. When you have a weak CPU or GPU, the animation and fading effects end up looking like they are slow motion. I’m exaggerating a bit, but your eyes are actually very good at picking up motion changes. I have several machines ranging in age from less than a year old to more than five years old. And the speed of the CPU and GPU in those machines varies greatly. Therefore the new fast quad core machine can drive these effects the way they were designed to be seen. But even the quad machine will show a noticeable improvement.
The Performance Options Hit List – turn these off
Now you might be wondering how to get to these options since I neglected to tell you. You can get to them in a similar manner across most of our operating systems and as usual, there’s more than one way.
Now that you have made these changes, you should see the difference in how the applications behave. This made a dramatic difference on my two slowest machines. It was very helpful in particular on on my Dell Latitude D820. Now that we’ve made some changes to the user interface responsiveness, lets look at disabling some optional features and services in Windows Vista.
Optional Windows Vista Services
An astute observer of Windows Vista will notice the operating system is always doing something. The most visible activity involves the hard drives of your system. If you haven’t changed any of the default settings for Windows Vista, you’ll notice those hard drives are constantly reading and writing.
What services are using the disk that much? The obvious first guess is the indexing service. Or more accurately, the Windows Search service. When you first install the OS, it would seem reasonable to take the indexing hit for all of your documents and email. After all, that’s what gives you the instant access to nearly every document on your hard drive. But if you’re a highly organized person like myself, do you really need it?
Then there’s the Superfetch service. SuperFetch monitors which applications you use the most and preloads these into your system memory so they'll be ready when you need them. Windows Vista also runs background programs, like disk defragmenting and Windows Defender, at low priority so that they can do their job but your work always comes first.
This all sounds great on paper, but the reality is that those disk reads and writes use electricity, generate heat, and take away disk performance from other applications. The developers of the features will challenge that the services run as low priority I/O and will not impact the computing environment. My experience differs and frankly it really doesn’t matter what they say. I want the I/O gone so that I am not generating heat, beating up my hard drives, reducing their life, and taking any performance away from my other applications. Now to be fair, Windows Search 4.0 just came out and I haven’t installed and tested it yet, but I will. I’ll give it a shot at changing my mind. Until then, it’s time to disable some services, help save some electricity and reduce the heat my machine generates. Heat is evil.
Disabling the Optional Windows Vista Services
Like before, there are several ways to navigate to the Windows services and change the properties, or start and stop them.
There are a few other services you can safely stop if you aren’t using their services. An example is the Distributed Link Tracking Client. However, you aren’t going to see a noticeable improvement in performance of the system from that service change alone. By stopping the Indexing service and disabling it and Superfetch, you should see a dramatic improvement in performance and boot times. But like I said, you are doing this at a cost and the cost is the inability to use instance search in Windows Vista and Outlook. That’s a pretty high price to pay and it’s probably too high of a price for many people.
A Couple of Last Changes
There are a couple more changes I recommend making, then a therapeutic reboot will clean house on all of the processes and memory. The first change is disabling the disk defrag service. Now keep in mind that I regularly flatten my machine and rebuild from scratch. In fact, if I go as long as six months without re-installing the OS, apps and data I’m doing really good. Therefore, this particular trick isn’t recommended for the masses. Only for the nerds that are rebuilding every few months.
The last change involves a security change. I like to turn off one of the UAC features. I turn off the highly annoying “Switch to a secure desktop when prompting for elevation”. I know, I know. This should really be left on to prevent a malicious virus from impersonating a portion of the OS (also known as a shatter attack). To be honest, I originally started doing this in the Vista beta cycles because this feature was causing havoc with the LiveMeeting program and my ability to do desktop sharing during webcasts. I should probably turn it back on to see if I can live with it now. Maybe not.
How do you turn this UAC feature off? If you are using the Windows Vista default Control Panel settings, go to Control Panel | System and Maintenance | Administrative Tools. From there you are going to double click the Local Security Policy and respond to the UAC prompt since this requires administrative privilege. Expand the Local Policies node in the tree control and click the Security Options node. Scroll all the way to the bottom of the list and you see the secure desktop setting as the second to the last item. Go into the properties for the settings and disable it. Now would be a good time to reboot your machine and let all of the changes above take effect.
One Last Bombshell
I like to save a juicy tidbit for last in some of my articles. Larry Garcia, a friend and colleague hates that. He wants all the key stuff at the beginning in an executive summary so he doesn’t have to read the article. Ha! What fun is that? So here’s the last little “tweak” I like to do to my machine. I run in workgroup mode. Ok, pick your jaw off the floor. Speed is the primary motivating factor and giving the MSIT management policies the bird is the other. There are several reasons I can get away with this.
First of all, I always have two or more laptops/desktops for my job. Frankly, every technical person in my company needs more than one machine. I can do my job with one, but I am going to take a serious productivity hit. For instance, I downloaded 50GB of content yesterday from one of my machines, while I used another for different stuff.
By having more than one machine, I can always have a corpnet joined machine that is part of the Microsoft Active Directory forest and take the performance penalties associated with Active Directory lookups, System Center Configuration Manager inventory and patch management processes, etc. But that doesn’t mean my main production machine has to be that machine. In fact, it isn’t. Now the folks that are Microsoft employees reading this are wondering how I get away with that. Simple. Desktop OS virtualization.
Up until recently, virtualization wasn’t required. Our MSIT org would implement a new restriction for remote user connections, and I would find a way around it without violating our corporate security policies. But now they are starting to lock down the IPSEC policies more fully and with that, change the internal proxy server policies. Our internal Mac users are all too familiar with those policies.
So when the going gets tough, the tough virtualize. I have a virtual machine that is joined to our forest and in my time of need can be used to connect and use an internal application. Since our desktop virtualization products don’t today offer access to the smartcard reader, I use a handy trick. Once the VM is up and running, I establish a RDP connection to the VM and can use the smartcard with the RDP session. I only use this VM for applications that REQUIRE a machine account joined to the forest, or when a networking issue otherwise prevents connectivity to a resource on the corporate network. Those are few and far between. When I need long term use of a connection for something like downloads, I use my second machine that is joined to the forest. When I need to use an internal line-of-business application for a few minutes, I fire up the VM on my main production machine.
So there you have it. Some of my favorite runtime improvements to Windows Vista. Some are obviously controversial but like I said early in this article, my main motivation is speed from my system so that I can give that capacity back to other virtual machines I use to do my day job. It also makes Windows Vista very snappy and fun to use. I hope you enjoy the tips.
Nice post Keith. Some very good points here and useful tips about optimizing performance.
Quit pickin on the little guys, you know Larry "BAM" Garcia might get he's feelings hurt.
So on your machine that is not joined to the domain, what virus scan software do you like to use?
Someone asked me on email if I use the sidebar. I don't.
As for the Anti-virus and spyware product, for years I used CA eTrust but about three months ago switched to Microsoft ForeFront.
In fact, I built a standalone install for my team and supplied instructions. I think I converted most of my team. I get Forefront updates daily from the Microsoft update client.
forefront for a regular machine?, that is not going overboard?. i think that OneCare 2.5 is more than enough. but since you can use forefront i guess that makes all the point. i would also use it if could. :P
i agree on the effect, that was something common to do in xp, you only needed to leave common tasks,theme skin and icon shadows on and take out the rest for a instant improvement.
Avatar, are you thinking I am running the Forefront server? I'm not. I'm running the Forefront client. See http://www.microsoft.com/forefront/clientsecurity/en/us/default.aspx. It's very similar to Defender in look and feel.
FYI on Onecare... Costco had it on sale a few weeks ago after rebate for $9.99. Pretty good deal if you ask me.
disabling the superfetch is a bad thing, because priority data and priority applications will be swapped to disk and when you will use them they need to be reloaded from hard drive. So, disabling the superfetch will make you hard drive to work a lot!
Why should we leave our hardware idle while it should index our file and pre-fetch application we should use later? I don't think this is a good idea.
Suc, this really depends on your use patterns. I am not a typical IW so Superfetch isn't buying me a whole lot.
I have studied the effects in my environment with the performance monitors and displays and have decided for me, that I prefer it off.
I'm offering this information as food for thought. Default settings are created as a baseline for the masses but that doesn't mean you can't oolor outside the lines.
Why you stopped ReadyBoost?
Do you noticed any problem with boot times?
ReadyBoot is related tu ReadyBoost?