Vista Annoyances Resolved

[Page 5] Annoyances & Solutions (Pt.2)



3. Constant Hard Drive Activity


Users may soon become aware that Vista tends to utilize the hard drive more often - both immediately after bootup, and at other times during general usage when there might appear to be no real reason for any drive activity to occur. Once again this is by design, as there are several good reasons why the drive is being regularly utilized. The key causes can be broken down into the following Vista features:


SuperFetch - This feature ensures that your RAM is always being used as a cache to speed up your system, however if ever any program actually requires RAM, SuperFetch instantly releases the required amount (See the 'Vista Is a Memory Hog' annoyance further below). SuperFetch kicks in shortly after Vista bootup, and subsequently at any time when it detects unutilized memory. The act of loading a range of information into RAM from the hard drive can make the drive churn, often noticeably, depending on your drive's speed, though usually it doesn't last very long.


Search Indexer - The Instant Search feature in Vista is not about "finding lost files", rather it allows near-instantaneous access to your frequently used files and programs when using the Instant Search box found in the Start Menu among other places. The Search Indexer makes sure that it holds an up-to-date index of the relevant details of these files, however obviously the process of keeping the index updated can result in background drive activity whenever the indexed files or folders see any change in content or details.


Windows Disk Defragmenter - If set to do regular scheduled defragmentation, which it is by default, the Windows Disk Defragmenter will swing into action at a set time and begin defragmenting the drive in the background. This can be a lengthy and drive-intensive process depending on how fragmented your drive is, and also whether you're also doing other things at the same time.


Malware Scanners - Various malware scanners such as adware, trojan and virus scanners can and will automatically enable scheduled tasks which will commence various forms of system-wide malware scans at regular periods. Furthermore any malware scanner which is running in the background will typically scan every read and write to your hard drive, slowing down the process and increasing the length of any drive activity.


It's important to understand that Vista has an improved I/O system which basically means it handles competing requests for hard drive resources much better than XP. Watching a movie or listening to music while defragmentation is in progress for example usually results in no glitches or stuttering during playback - see the Reasons to Use Vista section for a video demonstration of this as proof. For applications where even minor background drive activity can impact on performance - for example in gaming - Vista suspends all background tasks completely, so for example the Search Indexer or Windows Defragmenter or SuperFetch won't run at all while you're playing a game. The Memory Optimization, Hard Drive Optimization, PC Security and Windows Search chapters of the TGTC cover all of these features, their multitude of functions, customization potential, tweaking information and recommendations in full detail.



Solution


Fortunately there are several ways in which you can minimize drive activity in Vista, without significantly reducing its functionality or performance.


SuperFetch - Disabling SuperFetch is generally not recommended as it does speed up application startup and response times and makes better use of your RAM. However it may be advisable on systems with very slow hard drives and/or less than 2GB of RAM. You can disable SuperFetch completely by going to the Services utility and setting the SuperFetch service to Disabled - see the Services chapter of the TGTC if you don't know how to edit Services. Once you've done that, go to the \Windows\Prefetch folder and delete its contents, then reboot.


Search Indexer - As noted above, the Search Index is a key tool in allowing you to quickly access commonly used files, so it is recommended that you do not disable it completely - you can optimize it instead. First, I recommend that you install Windows Search 4.0 as it enhances the performance of the built-in Windows Search functionality in Vista. Next you should streamline your Search Index as detailed below, as this will significantly reduce index-related drive activity without noticeably impacting on your search results.



Click to enlarge Click to enlarge

Go to Control Panel>Indexing Options, click the Modify button, then click 'Show All Locations'. By default Vista indexes your Start Menu programs along with virtually everything under your \Users directory. The problem is that this includes the \AppData directory and subdirectories, which can have literally thousands of files of no use to the average user - configuration files, cache files, setup files, log files, temporary files and so forth. Not only that, but these files are also constantly changing, both in number and content, requiring constant re-indexing by Vista. By unticking the Users directory in the indexer, and then manually only adding specific folders which you know contain files you would want to access via Instant Search, you can reduce the size of your index many times over. This process has two benefits: it makes Instant Search even snappier, and more importantly, it reduces a great deal of the background drive activity that you would otherwise get. See the screenshot comparison above to see how my index went from around 8,800 files to just over 1,000 files, simply because I only added folders from my drives which hold the files I would want to access via Instant Search. However if after reading the Windows Search chapter of the TGTC you still wish to disable Windows Search, then open the Services utility and set the Windows Search service to Disabled then reboot.


Windows Disk Defragmenter - Defragmentation is very important in improving drive access speeds and thus reducing stuttering, especially in games. However there is no logical reason why it needs to be done on a fixed schedule. Open the Windows Disk Defragmenter and untick the 'Run on a schedule' box. Instead make sure to run the Windows Disk Defragmenter, or a third party defragmentation utility, at least once a week when your PC is idle, and more importantly, after any major file operations, such as adding or deleting large files, or installing/uninstalling programs, especially games. This greatly reduces stuttering, and you also remove the background drive activity.


Malware Scanners - One of the most important recommendations I can give is not to run background malware scanner(s). It's not just a question of how much RAM or CPU resources they use. My objection to them centers around the fact that to detect malware they usually scan all reads and writes to your hard drive, looking for suspicious patterns. This means they will slow down your drive, increase stuttering in games, and will also increase general background drive activity. Equally as important, they are known to cause conflicts and crashes to desktop in other programs and games. I strongly recommend disabling background malware scanning on all your anti-malware software, and instead combined with UAC and some practical prevention tips, rely on manual scanning when required, such as scanning new files after download, and doing system-wide scans on a regular basis. Anti-malware software is a significant and often-overlooked cause of slowdowns and conflicts, and often gives people a false sense of security at the cost of performance. The full details and recommended techniques for a better way to protect yourself are in the PC Security chapter of the TGTC.



4. Vista Has Bad Driver Support


Over a year and a half after its release, some people still cite Vista's driver support as a source of both concern and annoyance, as well as one reason why they don't want to upgrade to Vista. There is a great deal of truth to the fact that the road to getting stable, well-performing and functional drivers for Vista has been longer and bumpier than it should have been.


The new Windows Vista Driver Foundation is designed specifically to enhance system stability and security by making sure that device drivers do not entangle themselves unnecessarily within the system kernel (the core of the operating system). Whereas a device driver problem in Windows XP can cause a hard lock or Blue Screen of Death (BSOD), or data corruption, it is less likely to do so in Windows Vista, reducing crashes and allowing users greater opportunity to recover use of their system with less chance of data loss or corruption in the event of a driver-based problem.


However Vista's driver model changes greatly annoyed some hardware manufacturers who for many years had become accustomed to supporting just one Windows architecture - the NT architecture underlying Windows 2000 and XP. Along came Vista which not only required additional cost and effort for hardware manufacturers to support, given they also have to maintain their XP driver support alongside Vista, but it also required a more complex form of development, since in some cases the drivers had to be rewritten from scratch. Graphics and Audio device manufacturers like ATI, Nvidia and Creative had specific issues to face which made the task even more complex. Vista's Display Driver Model not only improves stability and security, it also allows improved functionality and more efficient use of the graphics card. Vista also introduced DirectX 10, a new graphics API which required support on top of the existing DirectX 9. In terms of the way audio works, Vista also brought about a significant change.



Click to enlarge

Yet despite years of warning and plenty of support provided by Microsoft prior to Vista's release, some hardware manufacturers dragged their feet on developing appropriate Vista drivers, and the end result was that upon launch Vista's overall performance and stability was not what it should have been. Indeed as part of a lawsuit against Nvidia for its somewhat dubious 'Vista Capable' claims during the early days of Vista and the GeForce 8 series, Microsoft released data which showed that of all the crashes logged by Vista users in 2007, 29% were due to Nvidia drivers, and in total 65% of all Vista crashes were due to either ATI, Nvidia, Intel or other third party drivers. Be careful interpreting this data in support of or against any one manufacturer however, because aside from the fact that it doesn't break down the crashes over time, it also doesn't take into account the fact that not only does Nvidia have roughly twice the number of users as ATI, in the first four months after Vista's release, Nvidia was the only company to have a DirectX 10-capable graphics card series and release drivers with DirectX 10 support.


In any case this driver dilemma isn't a new development; back in 2003, a year and a half after XP's release, Microsoft data showed that over half of crashes in Windows XP were due to third party code.


Regardless, Nvidia, ATI/AMD, Creative and a whole range of other manufacturers have struggled to release full-featured, stable and fast drivers for their products under Windows Vista. None of this was due to any fault on Vista's part - it had introduced a range of improvements designed to benefit the end user and improve stability, security, performance and functionality. The hardware manufacturers were simply not fully on board due to the additional cost and effort involved.



Solution


In truth there are few if any solutions to bad device drivers. If a driver is unstable, it will destabilize the entire system or cause a range of bugs and glitches. Even modified drivers are unlikely to help because most modified versions of the same drivers only have superficial changes designed to alter parameters such as expanding the list of products that can use the driver, or changing particular settings which impact on image quality or performance. A problematic driver is in most cases going to remain a problematic driver until the hardware manufacturer decides to issue a better one.


The good news is that by now all the major manufacturers have released good quality drivers. In particular Nvidia, ATI, Intel and even Creative have more recently all issued several iterations of Vista drivers which provide support for all their major products, including all key functionality and with good performance and stability. I run a system with a mix of older and newer hardware, and every single device and feature is enabled and functioning as it should. It is most definitely no longer true to simply say that Vista drivers are 'bad'. Even Vista 64-bit is receiving good driver support from manufacturers. See the Windows Drivers chapter of the TGTC for more details and appropriate links.


Getting solid evidence to prove the stability and performance of Vista's drivers is difficult. For one thing, quite often a Windows crash will quote a driver-based error message, because although the error did occur through the driver interface, in reality the source of the problem has nothing to do with the drivers at all - it could be overclocking, overheating, faulty hardware, overly aggressive or incorrect BIOS settings, background program conflicts, third party codec packs, and so forth. So there is a significant potential source of over reporting when it comes to driver issues, whether on XP or Vista. The determining factor then is whether the user decides that the problem is driver-based or not, and reports it as such. Because Vista had a bad run initially with genuinely poor quality drivers, this experience and word of mouth then skews most Vista users towards automatically assuming that their problem must be driver-based and hence reported as such. This is why a crash in Vista is inevitably blamed on Vista itself or the drivers, rather than a range of other more valid reasons. See the end of this section for more discussion on this point.



5. Vista Is A Memory Hog


Many Vista users are horrified to see that shortly after booting up Vista, no matter how much system RAM they have, Vista seems to gobble up most of it straight away. They instantly assume that Vista's eye candy or some other "bloated" new feature must be very memory-intensive. What's actually happening is that the SuperFetch feature - covered under the 'Constant Hard Drive Activity' annoyance further above - starts filling any free memory with portions of your most commonly used programs right after Vista boots up. By using otherwise idle RAM as a data cache in this way, Vista greatly improves your application startup times and responsiveness. As the saying goes, "Free RAM is wasted RAM". The concern of course is that by taking up all this RAM, Vista will somehow slow down your system or "hog" the RAM should other programs require it. In practice this is a myth - the moment SuperFetch detects that your system requires the RAM for other purposes, it frees it up instantly.


In general Vista manages memory much more efficiently than XP, juggling RAM, Cached and Virtual Memory much more smoothly, with less stuttering or noticeable slowdowns. SuperFetch and Vista's Memory Management are covered in detail in the Memory Optimization chapter of the TGTC.



Solution


To prove to yourself that SuperFetch doesn't actually "hog" your RAM, do the following:



Click to enlarge

1. Open up Task Manager, go to the Performance tab, and look at the Cached line under the 'Physical Memory (MB)' area - you'll see that Cached memory takes up a large portion of the Total figure, and this is because of SuperFetch. Importantly you should also see that the Free line has very little if any free memory, usually close to zero.


2. While keeping Task Manager open in the foreground on the Performance tab, run a memory-intensive application on your desktop. I recommend this free Memtest utility - choose the default 'All Unused RAM' option and click the 'Start Testing' button.


3. Once the program is running, instantly you'll see that the Cached memory line in Task Manager drops dramatically as SuperFetch frees up the required memory the program is progressively requesting. Click the 'Stop Testing' button and watch as the Free line goes from its large size back down, as SuperFetch steadily fills up the RAM cache with data in the background.


The same process occurs when you launch a game or any other application - SuperFetch gives up its cached data as necessary, up to and including all available RAM. So it's not a memory hog, and it doesn't slow down your system because RAM responds extremely rapidly to read and write requests.


If you still consider SuperFetch's benefits not worth the extra drive activity that it incurs on your system, particularly on systems with less than 2GB of RAM and/or a slow hard drive, then you can disable it easily by going to the Services utility and setting the SuperFetch service to Disabled, and then going to the \Windows\Prefetch folder and deleting its contents, then rebooting. All disabling SuperFetch does is tradeoff some reduced initial drive activity in return for increased drive activity whenever you launch various applications and features, and consequently general Vista responsiveness may also decrease. If you reconsider and want to re-enable SuperFetch again at any time in the future, just remember that it will take a week or two for SuperFetch to get up to speed in working out your usage patterns.



6. Drive Space Keeps Shrinking


If you're using Vista and you notice your free drive space is continually dropping, it's not your imagination, and it's not a bug or a virus. As part of its System Protection feature, Vista not only maintains System Restore points just like Windows XP, it also keeps what are called Shadow Copies of a range of non-system files. For example if you're working on a Word document, Vista maintains snapshots of the document from each time changes were made. Let's say you delete a paragraph without realizing it, then save the document and switch off your PC. The next time you open it, you figure out you made a mistake, but by then it would normally be too late. With Shadow Copies, you can go to the 'Previous Versions' tab of the document's Properties (See screenshot below) and see all the previous versions of it which have been saved, sorted by date, and choose a previous one to restore. This and associated System Protection features are covered in more detail in the Backup and Recovery chapter of the TGTC.


Click to enlarge

The problem with Vista's System Protection is twofold: while Shadow Copies are held on all editions of Vista, the 'Previous Versions' tab is only available to Vista Ultimate and Business users; Home Basic and Home Premium can access System Restore, but not the Previous Versions functionality. Furthermore, a combination of a growing number of previous Restore Points and Shadow Copies can take up to 15% of your drive space, which is the maximum portion allowed for this functionality by Vista. So over time you may see your free drive space shrinking for no apparent reason, and for some Vista users, for no additional functionality either.



Solution


To start with, Vista Home Premium and Home Basic users can access Previous Versions using a handy utility called Shadow Explorer. This makes the Previous Versions feature useful for every Vista user. Next, if you still want to reclaim your shrinking drive space, or you want to limit the amount of space Vista uses for the System Protection functionality, there are several solutions:


Delete Old Restore Points & Shadow Copies: If you just want to clean up all older Restore Points and Shadow Copies to quickly free up some disk space, you can do so as often as necessary using the Disk Cleanup tool, available by right-clicking on your drive name in Windows Explorer, selecting Properties, and clicking the Disk Cleanup button. Alternatively just type "Cleanmgr" (without quotes) in the Start>Run box and press Enter. Select the 'Files from All Users on this Computer' option and then under the 'More Options' tab click the 'Clean Up' button under the 'System Restore and Shadow Copies' area to instantly delete all but the most recent System Restore point.


Turn Off System Protection: If you genuinely believe you have no need for both System Restore and Shadow Copies, you can disable System Protection altogether by going to the Windows Control Panel, opening System and clicking the 'System Protection' link in the left pane. Untick the relevant drive(s) for which you want this feature disabled and click Apply. It is not recommended that you disable this feature on your main Vista drive as System Restore in particular can be invaluable in allowing easy recovery after a bad driver install.


Restrict Drive Space for Restore Points & Shadow Copies: For those who value the added protection of System Restore and Previous Versions and don't want to disable it, you can instead force Vista to use less drive space for them. By default Vista will use up to 15% of your drive if required, however you can change this maximum by using the Vssadmin command. Open an Administrator Command Prompt (See the Vista Usage Notes chapter of the TGTC if you don't know how) and use the following command structure:


Vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=900MB


In the above example, the /For= switch determines the drive on which Vista resides, the /On= switch determines the drive on which your Shadow Copies and Restore Points reside (usually the same drive), and the /MaxSize= switch tells Vista the new maximum drive space allocated to System Protection (in MB) - note that the minimum allowed is 300MB. If you reduce the drive space allocated to this feature, you will also be limiting the number of Restore Points and Previous Versions Vista will keep - this could be a concern if you work with large files and/or make lots of changes often, so bear this in mind and calculate a reasonable limit that still allows this feature to do its job.



The next page continues our look at common annoyances & solutions.