My Favorite Windows Vista Runtime Improvements (RTI)

vista_wallpaper 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.

imageThe Performance Options Hit List – turn these off

  • Animate controls and elements inside windows
  • Animate windows when minimizing and maximizing
  • Fade or slide menus into view
  • Fade or slide ToolTips into view
  • Fade out menu items after clicking
  • Show shadows under menus
  • Show shadows under mouse pointer
  • Slide open combo boxes
  • Slide taskbar buttons
  • Smooth-scroll list boxes

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. 

  1. Click the Start button or in the case of Windows Vista, click the Vista Pearl.
  2. Right mouse click Computer.
  3. Click the Properties menu item.  This effectively takes you to Control Panel | System in Windows Vista.
  4. Click the Advanced system settings Task item in the top left portion of the window.  This requires administrator privilege so you’ll need to respond to the Windows Vista UAC prompt.
  5. In the Performance section, click the Settings button.

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.

imageDisabling 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.

  1. Click the Start button.
  2. Right mouse click Computer.
  3. Click the Manage menu item.  This requires administrator privilege so you’ll need to respond to the UAC prompt.
  4. After the Computer Management MMC launches, expand the Services and Applications node on the bottom of the navigation tree control.
  5. Click the Services node. Now you’ll see a list of all of the services.
  6. Scroll to the bottom of the list.
  7. Right mouse click Windows Search and click the Properties menu item.
  8. Click the Stop button to shutdown and stop the service.
  9. Change the Startup type to Disabled.  Keep in mind this also disables Outlook 2007 integrated search for your email.
  10. Click OK to save those changes.
  11. Scroll the list of services and find Superfetch.  Stop the service and change it to manual.  Do the same for the ReadyBoost and Offline Files services.
  12. If you have Nero 7 or Nero 8 installed, scroll to the NMIndexingService and stop then disable this service.  I don’t yet have Nero 8 but I assume the indexing service is still there.

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.

Summary

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.