I decided to write this article after I bought myself a brand new, state of the art, laptop from Dell. I'm talking about 2.33 GHz Core Duo, 4 GB of fast RAM, a 7200 RPM SATA hard disk, and all the other necessary hardware. And yet, when I booted up the pre-installed Windows Vista Ultimate edition, it was so painfully slow. After poking around and investigating for awhile I found a few tweaks that have dramatically improved performance for me.
The Aero Theme
If you read my "Aero Theme is bad, disable it" article (insert link) you will understand why the Aero Theme is bad for your computer's resource usage, if you haven't gotten that insight yourself already. Disabling the Aero theme is easy, however Microsoft went through some hoops to make you look for the option. Once you know where it is it's easy. Right-click an empty spot on your desktop and click Personalize. Click on the Window Color and Appearance link. Click on the "Open classic appearance properties for more color options" link. BTW, you can also run the following command from the Run option in the Start menu:
"C:Windowssystem32rundll32.exe" Shell32.dll,Control_RunDLL desk.cpl,Appearance,@Appearance
Next, select any of the available themes, such as the Windows Classic theme. If you need to reserve as much system resources as possible in order to run other applications or services, Aero is bad for you. Lose it. The Aero theme has another “undocumented” feature you might want to consider. If you’re using Vista on a laptop computer you might notice that Vista drains your batter life much faster than you’d expect. I don’t have details on exactly how much battery life is reduced when using Vista Aero, but many websites report seeing this reduction. When Aero is turned off, battery life is equal to or better than Windows XP systems. But with it turned on, battery life suffers compared with Windows XP. If you’re using a laptop and care about your battery life, turn off Aero!
One of the most annoying "features" of Windows Vista is the fact that although it boasts a much faster TCP/IP stack and other re-designed items that can make networking much faster, from my experience (and by reading about this issue on the Internet – for many many more people) Windows Vista is much slower in performing file copy and move operations. This is true both for the local file copy (i.e. from one partition to the other), or a network file copy (via shared folders or mapped network drives). I looked all over for a solution (if you happen to know one, please let me know). Some of my findings and a few possible solutions will be listed here. Note that not ALL Vista users will experience such slow response, but if you feel that since you've installed Windows Vista on your machine it has suddenly become much slower when copying files, then feel free to try one or more of these solutions. Again, I'd appreciate it If you could share your findings. The list of solutions is not presented in any particular order.
- Disable Remote Differential Compression
One of the solutions you may look into is to disable and remove the Remote Differential Compression feature in Vista. Remote Differential Compression (RDC) allows applications to synchronize data between two computers in an efficient manner. The synchronization efficiency is made possible by using compression techniques to minimize the amount of data sent across the network. RDC is suitable for applications that move data across a wide area network where the data transmission costs outweigh the CPU cost of signature computation. RDC can also be used on faster networks if the amount of data to be transferred is relatively large and the changes to the data are typically small. Open Control Panel and in the Programs node, click the Uninstall a Program link. In the Uninstall or Change a Program window, click on the Turn Windows Features On or Off link. BTW, you can also type the following command from the Run option:
In the Windows Features window click to un-select the Remote Differential Compression checkbox and click Ok. This *should* increase network performance a bit. If you do not notice any improvement you can always turn the feature on.
- Disable TCP Autotuning
Vista's issues with slow browsing and network operations can be, in part, due to problematic network devices such as NICs and routers, but also because the new TCP Receive Window Auto-Tuning Level. You can read more about this issue in the "Browsing websites gets painfully slow with Windows Vista" page, but here is the drilldown:
- Click Start and type CMD.
- Press CTRL+SHIFT+ENTER to open the command Prompt with Administrative rights.
- At the prompt in the Administrator: Command Prompt window, type the following command, and then press ENTER:
netsh interface tcp set global autotuninglevel=disabled
Now reboot your machine and see if it helps. In most cases, you will notice an improvement in file copy performance.
- Install hotfix 931770
Some of you might have noticed a slow down or a non-response message when copying a file across the network. The copy process may stop responding (or hang), and you might get this message: Calculating Time Remaining 0 minutes remaining Microsoft has issued a fix for ALL versions of Vista that should correct the problem. However the hotfix is NOT publicly available, and you need to call PSS and ask for it. The copy process may stop responding when you try to copy files from a server on a network to a Windows Vista-based computer - 931770 http://support.microsoft.com/default.aspx/kb/931770 Note that unless you are experiencing this problem, do not apply the fix. You *might* be able to find that (and other hotfixes) available here, but I strongly advise against doing so. The *right* place to get ANY hotfix from is PSS… The Hotfix Share Download Section - index/Language Neutral/Vista/: http://hotfix.xable.net/download/index.php?dir=Language Neutral/Vista
Make sure you've got the latest drivers for ALL your hardware components
But especially for the Mother board, disks, network (including your wireless network card) and display cards (pay a close attention to those nVidia chips!). I've seen people complain about Vista's bad performance and when they installed the latest driver from the manufacturer's site (and some less known or OEM manufacturers try hard to hide their updates…), the performance issues were all but gone.
Make sure you've updated your 3rd-party Anti-Virus/Firewall/Anti-Spyware program
Like in the previous tip, many 3rd-party software vendors simply did not plan ahead fast enough for Vista, and having a not-so-optimal Anti-Virus software that isn't designed for Vista might be the cause of many performance issues. I've seen people disable their McAfee software that came bundled with their laptop/desktop computers and since then they've been happy. Try it yourself, see what performance changes you get.
While indexing is one of Microsoft's new puppies in Windows Vista, boasting of endless options and tons of user productivity due to the fast manner in which the results are brought up, I find the old fashioned way of simply knowing where I put everything much better. Even if you do enjoy the luxury of using the search feature in Vista, remember that it is exactly that. A luxury. And if you are using your machine and wish to bring out the most of it, then you could consider disabling the Indexing of files and mailboxes on your computer. Note that Vista has 2 indexing options – One is the Desktop Indexing feature, and the second is the Index Server service which is NOT installed by default.
- Method 1 – disable unnecessary indexing of files or folders
Open Indexing Options from the Control Panel, or run the following command from the Run option:
"C:WindowsSystem32rundll32.exe" C:Windowssystem32shell32.dll,Control_RunDLL C:Windowssystem32srchadmin.dll
- Method 2 – disable indexing altogether
However, based upon my tests, just removing checkboxes from the Indexing Options window will not stop the relevant processes from launching. Therefore, if you need to totally disable the indexing feature you will need to disable the Windows Search services and stop it from running. Although Microsoft claims that the indexing in Vista is configured to it will not run in high priority manner and will always allow other, more important processes to gain access to resources before it, disabling the Windows Search service is mostly useful when using Vista on virtual machines (for example when running multiple instances of Vista on the same physical computer) or for other testing scenarios, and no less important – when using 3rd-party indexing solutions (such as Google's Desktop Search). Although the indexing is supposed to give priority to other tasks, I often saw the indexing-related processes (these are SearchProtocolHost, SearchFilterHost and SearchIndexer) active even though my computer was working on other tasks. This can tremendously decrease the overall performance. Plus, many users have reported "hearing" their computer's hard disks thrashing and frantically working for minutes and even hours, trying to index the masses of files that they have stored in their personal folders.
From Control Panel open Administrative Tools > Services. You can also type the following command from the Run option:
Scroll down to find the Windows Search service. Double-click it, and in the Startup type list configure it to be Disabled (you can always re-enable it by configuring it back to Automatic). Next, click to Stop the service.
Delete the index folder
After reading the previous tip, if you do not need to re-enable indexing and you do not care about the already-built index (for example when using virtual machines) you might also want to delete the local index. The index is usually located under the following path: C:ProgramDataMicrosoft This folder is hidden, so you need to enable the display of hidden files and folders from the Explorer window. Open Windows Explorer, click on ALT, then from the now-visible menus click Tools > Folder Options. In the View tab click to select Show hidden files and folders, and also to un-select the Hide protected operating system files checkbox. Browse to the C:ProgramDataMicrosoftSearch folder. Look at the folder's properties. In my computer, with ONLY the Start menu and the mailbox being indexed, this takes almost 500 MB. Full indexing of personal folders will take anywhere between 1 and 2 GB of disk space. If you want, and you've disabled the Windows search service as described in the previous tip, you can delete the C:ProgramDataMicrosoftSearch folder.
Hibernation is a term used for laptops and portable computers. You can read more about it on my "Quickly Enable or Disable Vista Hibernation" article. As the article describes, working with windows Vista on a laptop computer will AUTOMATICALLY enable hibernation, and thus will create a file called hiberfil.sys with the size of your installed physical memory (RAM, and I have 4 GB of it) on your system partition (usually the C: drive). Since Vista already takes around 10 to 11 GB of disk space (after installing Office 2007 and a couple more applications, nothing fancy or big), not including the pagefile.sys file which too will take as much as your installed RAM – if you do not need hibernation you will also save valuable disk space. With that said, not everyone needs the capabilities of hibernation in their laptop computers. I, for one, found out that hibernating my laptop is bad for my personal needs, mostly because when you resume your working state you find that any virtual machines you had running (even if they were saved BEFORE entering hibernation) will stop responding properly. So I simply use Standby (or Sleep) mode on my working laptops. Note that the hibernation status of your laptop has nothing to do with actual system performance, however the fact that it is enabled causes less disk space to be available for other purposes. Open Command Prompt with administrative privileges (see above for instructions on how to do that), then type in the following command:
powercfg –h off
There is no need to reboot the computer and the hibernation file will be automatically deleted.
A note about memory usage on Vista
This topic will probably soon become an article on itself, but for now please make a mental note that unlike previous Microsoft operating systems, Windows Vista handles memory in a different manner. I will not go into these issues fully here, but the rule of thumb is – the more physical memory you have (RAM), the more Vista is going to use. Install Vista on a computer with 512 MB of RAM and you'll see that Vista will use less than 400 MB of RAM for the basic running OS. Try running Vista on a machine with 2 GB or RAM and you'll see it uses 800-900 MB of RAM. As long as you don't need to use the machine for many memory-intensive tasks (such as running virtual machines or graphic intensive programs) then you'll be fine. But if you do need the machine to perform other memory-intensive tasks, I'd consider trying Windows XP or moving to a server type OS.
More performance tweaks for Vista
Do you know any other tweaks that will improve Vista's performance? Feel free to send me an email and I will post them online.