Vista's Performance ImprovementsCertain computer pastimeshard-core gaming, software development, database administration, and digital video editing, to name just a fewrequire hardware help to maximize performance. Whether it's scads of system RAM, a mountain of hard drive storage space, or a state-of-the-art graphics card, these intense computer tasks require the best hardware that users can afford. Those of use who are not into these intense computing pursuits generally don't need the fastest machine on the market to write memos, build spreadsheet models, or design web pages. What we really need is a system that doesn't get in our way by making us wait for seemingly routine tasks. For example, in Windows XP I often right-click a document in Explorer with the intention of clicking a command such as Cut, Copy, or Rename. Along the way, however, my mouse pointer has to pass over the Send To command. XP populates the Send To menu by going to the Registry and searching for items that it can add to this menu. For some reason, that sometimes takes several seconds, so my mouse pointer remains stuck on Send To, even though that's not the command I want. This kind of interface annoyance must have bugged the Windows programmers one too many times also because they've rewritten the interface code from the ground up to make actions such as choosing menu options (including displaying the Send To menu) much faster. Even the in-place All Programs menu (see Chapter 2) is a huge improvement over XP and enables you to launch items much more quickly from deeply nested folders such as System Tools and Ease of Access. Besides these fit-and-finish performance improvements, Vista comes with a host of new features and updated technologies designed to make Vista the fastest Windows ever. The next few sections take you through the most important of these performance enhancements. Faster StartupThe first thing you'll notice about Windows Vista is that it starts up much faster than any previous version of Windows. I don't mean that it's a second or two faster, either. My own testing reveals that Vista starts up in approximately half the time compared to an equivalent XP setup. For example, on an XP machine that takes 60 seconds from power-up to the point that you can actually start working with the interface, the equivalent Vista system would take 25 to 30 seconds. Remember, too, that I was testing with a beta version of Vista, so the release version you'll use should be even faster. Note One Microsoft document claimed that Vista startups would take "typically 2 to 3 seconds." This seems extremely unlikely, but it sure would be nice if it was true! (but see my discussion of the new sleep mode, later in this chapter). Where does the startup speed boost come from? Some of it comes from optimizing the startup code. However, most of the improvement comes from Vista's asynchronous startup script and application launching. Older versions of Windows were hobbled at startup because they had to wait for each startup script, batch file, and program to launch before Windows handed the desktop over to the user. Vista handles startup jobs asynchronously, which means they run in the background while Vista devotes most of its startup energies to getting the desktop onscreen. This means that it's not unusual to notice startup scripts or programs running well after the desktop has made its appearance. Because all startup items run in the background, theoretically it shouldn't matter how many script or programs you run at startup; Vista should start up just as fast as if you had no startup items. Caution The Vista team was right to give the user top startup priority because it's frustrating to wait forever for startup items to execute. However, asynchronous startup could lead to problems if a script or program that you require for your work has not finished its chores before you're ready. In most cases, this should just mean enduring the usual waiting game, but it's something to bear in mind whenever you or one of your programs adds a script, program, or service to the startup. Sleep Mode: The Best of Both WorldsIn the last few versions of Windows, you had a number of options at your disposal for turning off your computer. You could use the Shut Down option to turn off the system entirely, which saved power but forced you to close all your documents and applications; you could put the system into Standby mode, which preserved your work and enabled you to restart quickly, but didn't entirely shut off the machine's power; or you could go into Hibernate mode, which preserved your work and completely shuts off the machine, but also took a relatively long time to restart (faster than Shut Down, but slower than Standby). I think it's safe to say that most users were confused by these options, particularly by the (subtle) difference between the Standby and Hibernate modes. By far the most common power-management complaint I've heard over the past few years is, "Why can't Windows be more like a Mac?" That is to say, why can't we turn off our machines instantly, and have them resume instantly with our windows and work still intact, as Apple has done with OS X? The new answer to these questions is that Vista is heading in that direction with a new Sleep state that combines the best of the old Standby and Hibernate modes:
How can Vista preserve your work and restart in just a few seconds? The secret is that Vista doesn't really shut off your computer when you initiate sleep mode. Instead, it shuts down everything except a few crucial components such as the CPU and RAM. By preserving power to the RAM chips, Vista can keep your work intact and redisplay it instantly upon waking. Don't worry, though: Vista does make a copy of your work to the hard disk, so if your computer completely loses power, your work is still preserved. To use Sleep mode, open the Start menu and click the Sleep button, shown in Figure 5.1. Vista saves the current state and shuts off the computer in a few seconds. To resume, press your computer's power button; the Vista Welcome screen appears almost immediately. Figure 5.1. Click the new Sleep button to quickly shut down your computer and save your work.
SuperFetch with ReadyBoost: The Faster FetcherPrefetching was a performance feature introduced in Windows XP that monitored your system and anticipated the data that you might use in the near future. It then loaded (prefetched) that data into memory ahead of time. If that data was indeed what your system required, performance would increase because XP wouldn't have to fetch the data from your hard disk. Windows Vista introduces a new and improved version of the Prefetcher: SuperFetch. This technology tracks the programs and data you use over time to create a kind of profile of your disk usage. Using the profile, SuperFetch can then make a much more educated guess about the data that you'll require and, like the Prefetcher, can then load that data into memory ahead of time for enhanced performance. However, SuperFetch goes even further by taking advantage of Vista's new ReadyBoost technology. If you insert a 512MB (or larger) USB 2.0 Flash drive into your system, Vista displays the AutoPlay dialog box shown in Figure 5.2. If you click Speed Up My System Using Windows ReadyBoost, SuperFetch uses that drive's capacity as storage for the SuperFetch cache. This frees up the system RAM that SuperFetch would otherwise use, which should result in an automatic (and probably quite dramatic) performance boost. Not only that, but you still get an extra performance nudge from SuperFetch itself because even though data access via the Flash drive is slower than with system RAM, it's still many times faster than even the fastest hard drive. Figure 5.2. If you insert a USB Flash drive into your system, SuperFetch can use it as its cache to improve system performance.
You can also control the amount of storage space that SuperFetch uses on the Flash drive. Select Start, Computer; right-click the Flash drive; and then click Properties to open the device's property sheet. In the Memory tab, shown in Figure 5.3, click Use This Device to let SuperFetch access the Flash memory and then use the slider to set the maximum amount of memory SuperFetch can use. Figure 5.3. In the Flash drive's property sheet, use the Memory tab to set the maximum amount of memory that SuperFetch can use.
Note SuperFetch usually sets the maximum memory it can use to a value less than the total capacity of the Flash drive. That's because most Flash drives contain both fast and slow Flash memory, and SuperFetch can use only the fast variety. Note As I was writing this, an interesting rumor was circulatingstarted by, of all people, Jim Allchin, Microsoft's President of Platforms and Services (that is, the Windows Vista head honcho; at least until he retires when Vista ships)that claimed ReadyBoost was also going to be configured to take advantage of memory on unused computers on your network. It was not clear when this eyebrow-raising idea would be incorporated into Vista. Restart ManagerIn the old days, "updating" an operating system or program meant installing an entirely new version of the software. Then Microsoft and some software vendors started posting "patches" on bulletin boards, then FTP sites, and eventually on the Web. Strangely, they didn't actually tell anyone that those patches were there, but they assumed that intrepid power users would unearth them and somehow get them installed. This primitive state of affairs ended a few Windows versions ago when Microsoft introduced Windows Update, a service that made it much easier to find, download, and install security patches, bug fixes, software and certified driver updates, and service packs. Software vendors followed suit, and it soon become common to have a "Check for Updates" feature in a software package so that you could remain up-to-date. Having the latest Windows updates and the latest versions of programs is a real boon because it makes computers more secure and more robust. However, it doesn't come without a cost. One of the biggest productivity killers today is the "Reboot Required" message you see all too often after installing even what seems like a minor patch. This dreaded message means that you have to save all your work, shut down your running programs, restart the system, and then open all your programs, windows, and documents all over again. It's frustrating, and it almost always seems so unnecessary. Why is there so often a need for a restart after patching Windows or a program? The short answer is that it's not possible to overwrite a running executable file or dynamic link library (DLL), which the operating system locks while the program is in use. If the update includes a new version of a running executable or DLL, and that executable or DLL can't be shut down, the only way to perform the update is with a reboot, which ensures that all executables and DLLs are unloaded. Why can't you just close the running program? It's not that easy, unfortunately. For one thing, you can't be sure these days when you shut down a program that you're shutting down all instances of the program in memory. Consider Microsoft Word, for example, which can be running not only in the Word window, but also in Outlook as the email editor, in Internet Explorer when it displays a .doc file, and so on. For another thing, many executable files operate in the background, and you don't even know they're running, so there's no interface for shutting them down. Of course, it's silly to unload the entire system just to patch what could be a single running file. Fortunately, Windows Vista is tackling this absurdity with the new Restart Manager technology. Restart Manager does three things:
The real trick here is the way that Restart Manager performs these restarts in programs designed to work with Restart Manager. It doesn't just start up the program and leave you to fend for yourself by reopening all your documents. Instead, Restart Manager preserves the exact state of each running process and then restores that state upon restarting the process. So if you're working in Word on a document named Budget.doc and the cursor was in line 10, column 20, Restart Manager not only restarts Word, but it also opens Budget.doc and restores the cursor to line 10, column 20. (Microsoft calls saving a program state in this way "freeze-drying" the program.) Note that the full functionality of Restart Manager is available only to applications written to take advantage of it. Office 2007 is the only program I know of that has this capability, but expect most major applications to become Restart Manageraware in their next versions. For programs that don't support Restart Manager, Windows Vista introduces a new idea called "side-by-side compliant" DLLs. This technology enables an installation program to write a new version of a DLL to the hard disk, even if the old version is still in use. When you shut down the program, Vista replaces the old version of the DLL with the new one, so the update will be complete the next time you start the application. All of this means that updates should require far fewer reboots in Vista than in XP. Not that reboots will never be required, however. In particular, there will always be patches that must update one or more core operating system files. By definition, core operating system files run at startup and remain running as long as the system is turned on, and it's not possible to shut them down without shutting down the entire OS. (Technically, you can rename the file and then install the new version under the old name, but that can lead to all kinds of system problems.) In these situations, there will be no choice but to reboot to apply the patch. Hopefully, however, Vista's faster shutdown and startup times will make this less of a headache as well. Windows System Assessment Tool (WinSAT)From a high-level perspective, each version of Windows XP was exactly the same no matter what hardware it ran on. Yes, the set of device drivers running on each system could be vastly different, but from the user's perspective, it didn't matter whether you were running a bare-bones budget PC or a 64-bit behemoth: The look and feel of XP, and the programs and features that were available, didn't change. On the surface, that seems more than a little strange because there's a huge performance gulf between a box that meets only the minimal requirements for running Windows and a top-end machine with a fast 64-bit processor, scads of RAM, and a state-of-the-art GPU. Unfortunately, this situation meant that all too often the system opted for lowest-common-denominator settings that worked for low-end machines but did nothing to take advantage of high-end hardware. Fortunately, this one-size-fits-all approach to Windows will be history after Windows Vista ships. That's because Vista tailors certain aspects of itself depending on the capabilities of the system on which it's installed. I mentioned in Chapter 2 that the Vista interface will change depending on the graphics hardware on the machine, with low-end machines getting the straightforward Classic interface, midrange adapters getting the regular Aero theme, and high-end GPUs getting the full Aero Glass treatment. But Vista also scales other aspects up or down to suit its hardware home. With games, for example, Vista enables certain features only if the hardware can support them. (I talk about this in more detail in Chapter 10, "Windows Vista and Gaming.") Other features that are scaled for the computer's hardware are TV recording (for example, how many channels can be recorded at once?) and video playback (for example, what is the optimal playback size and frame rate that doesn't result in dropped frames?). The tool that handles all of this not only for Vista itself, but also for third-party programs, is the Windows System Assessment Tool, or WinSAT. This tool runs during setup and whenever you make major performance-related hardware changes to your system. It focuses on four aspects of your system performance: graphics, memory, processor, and storage. For each of these subsystems, WinSAT maintains a set of metrics stored as an assessment in XML format. Vista then needs to examine only the latest assessment to see what features the computer can support. Note, too, that third-party programs can use an application programming interface that gives them access to the assessments, so developers can tune program features depending on the WinSAT metrics. Five metrics are used:
Windows System Performance RatingBesides WinSAT, Windows Vista comes with Windows System Performance Rating tool that rates your system based on its processor, RAM, hard disk, regular graphics, and gaming graphics. To launch this tool, open the Control Panel, click System and Maintenance, and then click Performance Rating and Tools. As you can see in Figure 5.4, Vista supplies a subrating for each of the five categories and also calculates an overall rating. You can get a new rating (for example, if you change performance-related hardware) by clicking the Refresh My Rating Now link. Figure 5.4. Vista calculates a Windows System Performance Rating based on five categories.Interpreting the ratings is a bit of a black art, but I can tell you the following:
Handling Performance ProblemsThe Performance Rating and Tools window also contains a Performance Issues section that provides alerts that warn you about problems affecting Vista's performance. If you click one of these links, Vista launches a Solutions to Performance Problems dialog box that gives you more details and usually offers a View Help button that displays a Help system article. Figure 5.5 shows an example. Figure 5.5. Click a link in the Performance Issues section to see a dialog box such as the one shown here.Vista often warns you that startup programs are causing Vista to start slowly. The associated Help article recommends that you shut down some programs that run automatically at startup. In Windows Vista, you do that using Software Explorer, the Windows Defender feature that controls your startup programs (see Chapter 6, "Security Enhancements in Windows Vista," to learn more about Windows Defender). In Windows Defender, select Tools, Software Explorer, and then click Startup Programs in the Category list to see the Windows Defender window shown in Figure 5.6. From here, you can prevent a program from running at startup by clicking it and then clicking Disable. Figure 5.6. You can use Windows Defender to disable programs that run at startup. |