Boot Performance

Ed. Note: This is our first post from a senior member of the development team. Allow me to introduce Michael Fortin who is one of Microsoft’s Distinguished Engineers and leads the Fundamentals feature team that is in our Core Operating System group. Michael leads performance and reliability efforts across the Windows platform. --Steven (PS: Be sure to visit www.microsoft.com/ie and try out the beta 2 release of Internet Explorer 8).

For Windows 7, we have a dedicated team focused on startup performance, but in reality the effort extends across the entire Windows division and beyond. Our many hardware and software partners are working closely with us and can rightly be considered an extension to the team.

Startup can be one of three experiences; boot, resume from sleep, or resume from hibernate. Although resume from sleep is the default, and often 2 to 5 seconds based on common hardware and standard software loads, this post is primarily about boot as that experience has been commented on frequently. For Windows 7, a top goal is to significantly increase the number of systems that experience very good boot times. In the lab, a very good system is one that boots in under 15 seconds.

For a PC to boot fast a number of tasks need to be performed efficiently and with a high degree of parallelism.

Files must be read into memory.

System services need to be initialized.

Devices need to be identified and started.

The user’s credentials need to be authenticated for login.

The desktop needs to be constructed and displayed.

Startup applications need to be launched.

Because systems and configurations differ, boot times can vary significantly. This is verified by many lab results, but can also be seen in independent analysis, such as that conducted by Ed Bott. Sample data from Ed’s population of systems found that only 35% of boots took less than 30 seconds to give control to the user. Though Ed’s data is from a small population, his data is nicely in line with what we’re observing. Windows Vista SP1 data (below) also indicates that roughly 35% of systems boot in 30 seconds or less, 75% of systems boot in 50 seconds or less. The Vista SP1 data is real world telemetry data. It comes to us from the very large number of systems (millions) where users have chosen to send anonymous data to Microsoft via the Customer Experience Improvement Program.

From our perspective, too few systems consistently boot fast enough and we have to do much better. Obviously the systems that are greater than 60 seconds have something we need to dramatically improve—whether these are devices, networking, or software issues. As you can see there are some systems experiencing very long boot times. One of the things we see in the PC space is this variability of performance—variability arises from the variety of choices, and also the variety of quality of components of any given PC experience. There are also some system maintenance tasks that can contribute to long boot times. If a user opts to install a large software update, the actual updating of the system may occur during the next boot. Our metrics will capture these and unfortunately they can take minutes to complete. Regardless of the cause, a big part of the work we need to do as members of the PC ecosystem is address long boot times.

In both Ed’s sample and our telemetry data, boot time is meant to reflect when a machine is ready and responsive for the user. It includes logging in to the system and getting to a usable desktop. It is not a perfect metric, but one that does capture the vast majority of issues. On Windows 7 and Vista systems, the metric is captured automatically and stored in the system event log. Ed’s article covers this in depth.

We realize there are other perceptions that users deem as reflecting boot time, such as when the disk stops, when their apps are fully responsive, or when the start menu and desktop can be used. Also, “Post Boot” time (when applications in the Startup group run and some delayed services execute), the period before Windows boot is initiated, and BIOS time can be significant. In our efforts, we’ve not lost sight of what users consider being representative of boot.

Before discussing some of our Windows 7 efforts, we’d like to point out there is considerable engagement with our partners underway. In scanning dozens of systems, we’ve found plenty of opportunity for improvement and have made changes. Illustrating that, please consider the following data taken from a real system. As the system arrived to us, the off-the-shelf configuration had a ~45 second boot time. Performing a clean install of Vista SP1 on the same system produced a consistent ~23 second boot time. Of course, being a clean install, there were many fewer processes, services and a slightly different set of drivers (mostly the versions were different). However, we were able to take the off-the-shelf configuration and optimize it to produce a consistent boot time of ~21 seconds, ~2 seconds faster than the clean install because some driver/BIOS changes could be made in the optimized configuration.

For this same system, it is worth noting the resume from sleep time is approximately 2 seconds, achieving a nearly instant on experience. We do encourage users to choose sleep as an alternative to boot.

As an example Windows 7 effort, we are working very hard on system services. We aim to dramatically reduce them in number, as well as reduce their CPU, disk and memory demands. Our perspective on this is simple; if a service is not absolutely required, it shouldn’t be starting and a trigger should exist to handle rare conditions so that the service operates only then.

Of course, services exist to complete user experiences, even rare ones. Consider the case where a new keyboard, mouse or tablet HW is added to the system while it was off. If this new HW isn’t detected and drivers installed to make the HW work during startup, then the user may not be able to enter their credentials and log into the machine. For a given user, this may be a very rare or never encountered event. For a population of 100s of millions of users, this can happen frequently enough to warrant having mechanisms to support it. In Windows 7, we will support this scenario and many others with fewer auto start services because more comprehensive service trigger mechanisms have been created.

As noted above, device and driver initialization can be a significant contributor as well. In Windows 7, we’ve focused very hard on increasing parallelism of driver initialization. This increased parallelism decreases the likelihood that a few slower devices/drivers will impact the overall boot time.

In terms of reading files from the disk, Windows 7 has improvements in the “prefetching” logic and mechanisms. Prefetching was introduced way back in Windows XP. Since today’s disks have differing performance characteristics, the scheduling logic has undergone some changes to keep pace and stay efficient. As an example, we are evaluating the prefetcher on today’s solid state storage devices, going so far as to question if is required at all. Ultimately, analysis and performance metrics captured on an individual system will dynamically determine the extent to which we utilize the prefetcher.

There are improved diagnostic experiences in Windows 7 as well. We aim to quickly identify specific issues on individual systems, and provide help to assist in resolving the issues. We believe this is an appropriate way to inform users about some problems, such as having too many startup applications or the presence of lengthy domain-oriented logon scripts. As many users know, having too many startup applications is often the cause of long boot times. Few users, however, are familiar with implications of having problematic boot or logon scripts. In Windows XP, Vista and in Windows 7, the default behavior for Windows is to log the user into the desktop without waiting for potentially lengthy networking initialization or scripts to run. In corporate environments, however, it is possible for IT organizations to change the default and configure client systems to contact servers across the network. Unfortunately, when configuring clients to run scripts, domain administrators typically do so in a synchronous and blocking fashion. As a result, boot and logon can take minutes if networking timeouts or server authentication issues exist. Additionally, those scripts can run very expensive programs that consume CPU, disk and memory resources.

In addition to working on Windows 7 specific features and services, we are sharing tools, tests and data with our partners. The tools are available to enthusiasts as well. The tools we use internally to detect and correct boot issues are freely available today here as a part of the Windows Performance Toolkit. While not appropriate for most users, the tools are proving to be very helpful for some.

One of the topics we want to talk about in the future which we know has been written about a great deal and is the subject of many comments, is the role that additional software beyond the initial Windows installation plays in overall system performance. The sheer breadth and depth of software for Windows means that some software will not have the high quality one would hope, while the vast majority is quite good. Microsoft must continue to provide the tools for developers to write high performance software and the tools for end-users to identify the software on their system that might contribute to performance that isn’t meeting expectations. Windows itself must also continue to improve the defensive tactics it uses to isolate and inform the end-user about software that might contribute to poor performance.

Another potential future topic pertains to configuration changes a user can make on their own system. Many recommended changes aren’t helpful at all. For instance, we’ve found the vast majority of “registry tweak” recommendations to be bogus. Here’s one of my favorites. If you perform a Live search for “Enable Superfetch on XP”, you’ll get a large set of results. I can assure you, on Windows XP there is no Superfetch functionality and no value in setting the registry key noted on these sites. As with that myth, there are many recommendations pertaining to CPU scheduling, memory management and other configuration changes that aren’t helpful to system performance.

Startup is one topic on performance. As described in the previous post we want to continue the discussion around this topic. What are some of the elements you’d like to discuss more?

I’d like to know more about performance throttling scenarios when a user unplugs. I’m assuming / hoping that WPF will be used more widely in the W7 shell and I’m just wondering how the experience will degrade nicely such that I still get a rich experience while not allowing the GPU to chew through battery.

Thanks for all the detail in these posts. IE8 B2 has me really impressed and I’m hoping its just a preview of whats to come in Windows 7 in terms of an overall focus on usability.

"Our perspective on this is simple; if a service is not absolutely required, it shouldn’t be starting and a trigger should exist to handle rare conditions so that the service operates only then. "

This snippit I noted above is the most interesting in the post. It goes one step further from just saying "we are making it faster" it deals with a possible solution of how to do so. Not only that, but it is simple in explaination, and makes sense.

Sure, this could be a bit of a tiny engineering feat, but the payoff of something like this would be interesting, if it ends up in the next release.

Nice first post "Perf" and thank you for giving us some incite on how the team is building Windows 7.

A few manufacturers started integrating OS (typically a Linux image) with BIOS. And, I think it is a great idea. In many cases you need only one thing: connect to a network and open up a browser or run a business application (e.g. payment terminals).

It would be great if we had an option of "disk-less" Windows OS core residing in an EEPROM (BIOS). Also, it can be used to host Windows installation process.

I’d love to see a post on how you intend to maintain system performance over long periods of use. It’s no secret that installing/uninstalling programs takes a toll on the registry and system performance over time.

So let’s hear about what sort of maintenance tools Windows 7 will implement to keep the system running at peak performance over long periods of time. "Disk Cleanup" hardly counts as maintenance ^_~

To me, a "Clean Install" shouldn’t even be a metric that you try to promote … because *no one* has a clean install. Everybody has different applications that they need to install … for examples, developers may have a slew of applications and services. It is these "User Profiles" that should be touted when you talk about boot times.

You mentioned in the post that different people have different perceptions of boot time. Just to throw in my two cents … my perception is when I can use my system to launch some application such as outlook or even as trivial as notepad. Even if the user chooses to bog their system down with a bunch of things that must start up in the beginning, there should be an easy of seeing what it is that is causing such long start times (as it happens), and to easily disable it. This should be a built-in windows feature.

I know it’s easy to ask for things like that when you’re not on the team, but one can dream a dream can’t they? 😛

Considering that boot time is strongly connected with the application installed (even before the start up ones), one course of action would be to isolate the influence of these in the OS. Nowadays, even third party software is too much deep rooted in the OS (I’m still looking for a good reason for a software only application need a system restart – but that is another topic).

Also, discourage applications makers to put useless start ups notification icons and who knows what running in the background. That would make boot and performance much better.

I have had nothing but problems over the years with hibernate and sleep. Even Vista still causes me grief—sometimes monitors don’t come back on , printers are no longer connected, etc. I am not complaining, but I point out that it is still not 100%. I especially notice the issues with my Tablet PC more than my desktop.

Anyway, I digress…

I am NOT a hardware guy (I am a programmer.) But I have always wondered why my mobile PCs are instant-on whereas my PCs take a minute to load (and then some if new hardware is connected.) Can’t we just go solid state and be done with all the booting, or is that a “pipe dream?”

I’m getting to really like this blog more and more. It’s clear, deliberate, and shows a lot of the deliberations that go into production of software.

There are some pretty big hints in this post that Windows is going to start monitoring what’s going on at startup (possibly also at shutdown) and producing reports on it. That’s a great idea, hopefully simple to execute, and will provide the best possible "proof" of what’s going wrong with boot times.

I’ve noticed repeat commentary from people that defrag and disk optimisation tools aren’t worth the paper they’re coded on. While they may not be a panacea for all ills, they’re far from useless. And surely one of the factors that benefits a clean install is a tidy disk?

One behaviour I’ve found great is from another free tool, TuneXp, which performs a very simple procedure: moving the boot files to the physical centre of the disk. This has produced dramatic decreases in boot time for me, and I’m not booting off a crusty 10 year old disk either. While obviously this won’t benefit everyone to the same degree, it struck me as strange that this isn’t default behaviour for windows – why not have an option to do this at every shutdown? Better yet, have it done as part of the install process, then lock the files before anything else gets written?

People may claim that the advent of SSD’s negates the need for defrags altogether, but if SSD’s suffer from significantly reduced non-sequential read/write performance, I don’t see how that can be the case.

The concern with boot performance in Windows 7 is a good thing to hear. I disable most of the programs in my Vista by the msconfig. But and the user who don’t even know about this? It could have an initialization managing more eficient for the non-IT (the laity) ones, and no more reclamations about the boot time in Windows will come. For example, when the boot time took more than 30 seconds, a wizard will be launched for the choice of the initialization programs, or something like that

Harping on my point in a previous comment; simply decreasing the size of every executable (exe, dll and driver) in Windows by 10% will improve boot times. I’ll bet hundreds of executables could be reduced by 20-30% while improving performance.

1. I’m glad that you are working on boot times. Even though I’ve been completely converted to the Vista way of shutting down (Sleep & Hybrid Sleep) I still think it is important to make the boot process as lean as possible.

2. I really hope Microsoft is able to either convince PC manufactures to reduce the number of custom applications that are installed by default (Like the ill mannered Symantec software) or to maybe provide them a friendly framework that they can use to push their wares but at the same time not impact the Windows experience. One example I have is a poorly designed power management tool that my older Toshiba laptop had. It was error prone, not as full featured as the built in windows tool and actually overrode the built-in windows tool. I hated the fact that I could only use this tool. The only way to ‘fix’ it was to do a clean install. After that the standard windows power management worked just fine.

3. Thank you for dispelling one of the Windows tweak myths. There are a lot of myths that float around the internet that do nothing but promote the idea that Windows needs massive tweaking to work properly or efficiently. Such as tweaking virtual memory. I’d like to see more ‘Windows Myth Busters!’

As nice as the idea of prefetching sounds, can we go a little deeper into it? From what Ive been reading it is more or less a heuristic technique for loading applications based on startup configurations, etc.. Is the idea to keep the hd from having to read out of multiple location on disk? The issue I have with any such method is that the machine is consuming cycles and memory that I as a user have not requested. I realize the improvement for certain application startup times may be worth it to some people, but I wish a different approach was taken to achieve this end goal. For example, why not focus on trying to minimize (eliminate?) file fragmentation in the first place? Is this not technically possible for some reason?

When I read about the references to prefetching in the post, I was instantly reminded of one of my biggest gripes about Vista. Indexing, why oh why? I personally felt that constantly indexing my entire hd was not only extremely distracting, but just felt awful! Im sorry, but I simply find the idea of a “search-on-steroids” to be mind-bogglingly mundane, aggravating, and shortsighted. I hope I’m wrong about prefetching. If not, can I turn it off?

Windows 7 needs a better way for end users to determine what applications are set to run on start up, and if they can be shut off or not. Whenever I help out others with computer problems it amazes me how many applications they have starting up and they wonder why their computer is "slow." Average users are able to use msconfig and know what they can and cannot turn off.

Also, applications should not be allowed to run on start up without the user’s permission. I am tired of taking Quicktime and iTunes off of this list.

Finally, I prefer hibernate over sleep because for the extra few seconds it takes over sleep, it is worth in battery life/energy bills. What if hibernate was made to be how the system shuts down instead of booting fresh every time? Maybe it would do an actual shut down every few times instead of every time. This would greatly decrease boot time.

1. my Windows XP system32 directory has got 2400 files inside. each time, when system wants to read some file, needs to go over all their names in worst case. when starts, makes it probably a lot of times and it needs time… what do you want to make with this ?

the same with registry – you can optimize reading, but still looking over many entries (put by all applications), which is made many times during startup, needs time. What do you want to make with it ? or do you still want to make central registry ?

2. reading 2KB file is faster than reading 200KB. how do you plan decrease size of files used during system startup ?

3. what about decreasing places, where are located names of processes for running during startup. Currently many users don’t know, what and how is started up – having one central place for applications and services (which all processes too) could allow them for disabling some unused parts…

4. about changing system services. like some people notified currently you have services for wifi run even when wifi hardware is not available. some services are run, although it’s not logical (for example prefetcher needs task scheduler). additionally descriptions don’t add any usefull information and users don’t know, if some service can be disabled or not (for example see description for System Event Notification. what do you want to do with it ?

Ah, system performance. A tricky field of computing, and takes soo much time to just get it right.

But, we can wait 😉 . We’ve been waiting so long for Vista (and look how that turned out), so this time, I think most of the users wish Windows 7 to be perfected.

But, what makes Microsoft great is its services to the users. Windows Live and Office share something in that they are made for the users, and they let the users use the services to a great extent.

MS, please, the end result isn’t money. No, that’s perhaps the end on the surface. The end result beneath all things is the user (consumer, business employees, power/ technical users and developers alike). They are the people that makes Microsoft a success. It is trying to find a flexible balance of hardware, software, and all these users that will make the product great. Yes, there are features, but by the end of all things, optimization should be looked at.

I’m certain that all the "eye candy" in Windows never needed that much resources. Look at KDE and Macs, very nifty window effects (though somewhat different in programming), and has a little memory footprint. Surely, MS can optimize code to make their eye candy efficient and quick.

Instead of looking for stable 2 GB of ram performance, look into 512 MB, and after that month or two of optimization, look for 256 MB. There is time (years in fact) to do so. Lowering the hardware requirements may be difficult, but truly appreciated. There must be passion in this, *elegance*.

The code has gotten sloppy, and has become literal bloat. The system doesn’t need to be rewritten (Midori/ Singularity is for that), but reorganized. This reorganization needs to include optimization. Both to make it friendlier on the hardware and to impress users.

Microsoft must regain its passion it had during the 90s. It must regain the spark it had during the Windows 3.0 to 95 and even Windows 2000 era.

MS/ Windows 7 team, don’t stick yourselves to a deadline. Learn from Vista: the company and vendors need their time with the RTM version. Make the "RTM" version a RC2 and let people test. Optimization should be done, and performance will no doubt be improved. Once all the code above and at the kernel is optimized, there will be performance gains, and perhaps the system requirements can be lowered this time 😉 ?

I agree with Fredledingue shutdown time is nearly as important as boot time. I had a client sitting next to me while I set up their computer for them including installing apps. They asked me what percent of the time during a computer setup is just sitting there waiting for a reboot. They are right. I spend an absurd amount of time rebooting PCs at a client’s expense.

"For this same system, it is worth noting the resume from sleep time is approximately 2 seconds, achieving a nearly instant on experience. We do encourage users to choose sleep as an alternative to boot."

This is an excellent point, but one that needs some work in and of itself. I rarely turn my system off, instead preferring it to wake up from a sleep, as this does dramatically improve boot up performance. However, whenever an update is installed a reboot is required. To that same end, whenever a new program is installed that too requires a re-boot. While having the computer just ‘sleep’ does improve boot time, it does absolutely no good if every day another program that is installed or updated on the OS requires yet another boot. If windows 7 could be enhanced so that a re-boot is required less often, I know that a re-boot will be required for some updates, then perhaps more people will choose sleep over boot.

To all the fellow readers/commenters here, I would like to say what is probably difficult (politically) for the MS authors to come out and say themselves. Boot performance on a clean box is Microsoft’s responsibility (a.k.a. jurisdiction); Boot performance after installing 50 anti-virus, shareware, adware, junkware, malware, and other soft-ware is another can of worms altogether.

There may be some things that Microsoft can do to help us solve the problems created by others, but we certainly can’t blame Microsoft if (for instance) Norton Antivirus decides to initiate a full disk, registry, and memory scan every time you boot your PC. If Symantec decides that this is necessary, there is nothing microsoft can do to stop them. It is our job as consumers to keep junk off of our PC’s. It is Microsoft’s job to help us to correct or mitigate the "poor installation choices" that we have made.

Admittedly, it is very difficult to determine where the "junk" resides on our PC’s, but my point is that in the vast majority of cases, poor boot performance is just not Microsoft’s *fault*. To me, this is why the "clean" install metrics are so telling. No one would disagree that a clean install boots quickly, even with old hardware. The problem is that after two years of downloading and installing all of the "must-haves", our impressions make us believe that Windows is slow. In reality, we are waiting for something that has nothing to do with Windows itself – that is, the third party apps and drivers that we chose to install ourselves.

So my request to Microsoft is to help us fight the poor development choices of third part apps. For fellow readers, however, please keep in mind that there is a fine line between what Microsoft does and what the "partners" do. Also keep in mind, that you really almost never need to turn off your computer nowadays. The laptop I’m using now hasn’t been powered off in probably over a month. Sleep and hibernate are here to stay. If like me, you’re not rebooting your PC more than once a week, its much harder to get worked up about an extra minute or two on the boot time.

I am completely dumfounded about what some are saying about wanting to run Win7 on 512 RAM. Would you put a $1,500 stereo system into a rusty $400 1982 Volvo? Would you buy $250 chrome spinner hubcabs for a car with the doors falling off the hinges?

We pay money for operating systems (and all kinds of other software/sevices) – why is there such resistance to putting just half of that money back into hardware? My own experience is that 95% of (serious) performance problems are in some way related to low memory (and excessive paging as a result). For less than $100, you can easily upgrade any PC to 2GB RAM and be done with it.

I encourage Microsoft to please make the absolute best possible use of whatever RAM is (or is not) installed on a given machine. However, anyone who is already going through the time and expense of installing Vista and/or Win7 can also take the time to get a RAM upgrade. It costs less to upgrade your RAM then it does to take a family of four out to dinner. To quote the wise words of Nike: "Just do it!"

I am particularly excited to hear about the work being done on minimizing services.

Here are a couple of suggestions that I would love to see in Windows 7 (or at least start moving that way).

1) Eliminate shared files wherever possible! Create a model so that programs store their files and settings in their own folders so that when they are uninstalled, they are fully removed from the system (or easily done so manually afterwards). I realize this probably won’t happen in 7 without some hefty virtualization but please start moving things this way. I think this would go a long way towards solving the "fresh install is great but then it deteriorates over time" issue. App Data is a good idea and programs should be able to store all information only there. Don’t hide it but make sure users come to expect things to be stored there (and talk to the Outlook Team about starting to use it for data files…but I digress). This would even help keep apps from muddling with system files like the registry (which can then hopefully be replaced with something else!). Just think, you could potentially have a relatively clean system just by wiping the program files and app data folders! They should never have to write to the windows directories!!!!!

2) Solve the plague of startup apps. Everyone hates them but so many users feel lost in trying to do anything about them. The apps often give Windows a bad name so why not offer a way for everyone to get what they want–including the program makers. Most (not all) of these tools exist for sole purpose of updating the main application. Sure we can turn them off (and I am ruthless about eliminating them on my systems) but the average user will never check for updates leading to potential security issues so right now there really isn’t a good solution.

So how about creating something akin to Windows update where programs can register with a central service and then on an interval of their choosing (within bounds), have Windows automatically check for updates for them against some kind of central site where manufacturers can submit update information. This way, no matter how many programs you have installed, you only have one update check process that does not activate right away but waits for the machine to go idle first so it will not impact startup times in any significant way. It can then generate a standardized notification of program(s) that need updating and then let the user make a selection that launches whatever process is appropriate to update that application. There would be important security and other concerns to work out but I think this would be light years better than the current model where computers are so bogged down by these processes.

Again, thanks for all the hard work and keep up the great information this blog has been providing.

aaronsteers – you are treading a slippery slope. When you encourage MS to require more memory or more ANYTHING you’ll encourage them to write sloppy code. I’m convinced the developers of Vista were all working on 8 core nitrogen cooled over clocked computers with Virtual hard drives running on DDR3 memory if they didn’t notice how slow it was.

Frankly I think if they all developed Windows 7 using Pentium 4’s with 512MB of memory it would run fantastic on a system with 2 GIGs of memory and a fast processor.

I’m not saying they shouldn’t make Windows7 take advantage of Core 2 systems with 2 or more gigs of memory but when you start out with the premise that everyone running your OS will have that you are heading for yet another Vista fiasco.

If you are talking about selling an OS to a single home user – sure that idea sounds great but when you are trying to convince my University to replace about 20,000 PCs so they can have transparent borders – that is a pretty tough sell.

Its been said a couple times already, but shutdown times are just as important. I know sleeping and hibernating are good options, but a reset is still something I have to do fairly regularily to install updates, new software etc.

I get a fairly decent boot time, not sure exactly what, but the problem isn’t really how fast the system boots. Its how long before i get a usable desktop… for me thats around a minute at least, and thats with very few startup programs.

One of the simplest mechanisms to provide a better login experience for many users would be a speculative auto-login.

Most PCs are used by the same user most of the time. But when a user reboots their system they have the boot split into two components, system boot and user login.

You can disable passwords and such, but that’s a bad idea even at home, and won’t fly in a corporate environment for sure. But if Windows let you configure a "speculative auto-login" that would essentially log the user in, but require a password to access the desktop I think the experience would be much improved and that such a system could still meet the majority of users security requirements.

If a different user logged in, then they would pay the price of the time to undo the speculative login but if that’s only 1% of the logins, it seems a fair price.

boe_d – Point taken. I agree with you. We need an operating system that does not *waste* memory unnecessarily. It is evident to me that the Windows team is working very diligently on core efficiencies. My own point was that the more extreme attitude of "I don’t want to spend a cent on hardware" is somewhat contradictory to our aparent willingness to shell out cash for the latest, greatest OS. If Microsoft charged an extra $25-$50 for the OS, but throw in a "free" RAM upgrade, would this make us happier?

Again, I think it is very important to keep things in perspective. I am not going to upgrade to Win7 if it requires 6 GB of RAM and 8 cores; however, it may be unrealistic to expect it to run smoothly on a machine from twelve years ago. There must be a balance between these two extremes. We want our OS to be as efficient as possible AND we want it to "wow" us. People just will not spend $150-$300 to upgrade their OS’s if the only benefit to doing so is the performance equivalent of adding a $25 RAM chip.

We all (including Microsoft) want Win7 to be fast, but the MS team also needs to add functionality, stability, and security. It is not enough to just "go back to the good old days" when everything ran just fine on a 486. Balance between features and performance is key.

Thank you four your post. It’s nice being able to follow the development of our future OS. 🙂

Vista is quite fast on boot up already – on a CLEAN system – which doesn’t help anyone in my opinion. I only got like 4-5 necessary programs on system start and it already takes like 3 minutes to fully boot on my quite fast machine.

1. 3rd party software isn’t the problem, the problem is the way Windows handles them, Windows first concern should be to make the system itself fully operational – can’t the 3rd party programs slowly load in the background if i start clicking around?

2. This leads me to one of the biggest problems I’m having with Vista still, I believe that Windows should always be top priority. There is nothing worse than just waiting Windows to response just because some software decided to fully consume all power – when i switch tasks i want to switch tasks instantly (even if i was playing a game, the desktop should show up instantly), when i open windows explorer i want it to show at once – especially those few seconds when opening the start menu or stuff like that are unbelievably annoying.

3.Another way of solving 3rd party start up software problems is(don’t hit me!) to integrate them into the system.. which start up programs are broadly used and integrate equivalents into the system. For example: I’m’ using UltraMon because i find that Vista doesn’t support multi monitoring properly…

4. "danwdoo" absolutely hit the mark Windows should always STAY a clean system. Here is what i mean: Even high quality software uncontrollably spreads all over your system and the registry. I would find Adobe in at least 5 different places, and why does every program needs its own installer. I’m not a professional programmer so I don’t know how realistic this idea really is but my idea would look something like this:

Get rid of the registry for anything other than Windows internal use.

-Force software to use a Windows internal installation tool where the user has to grant rights to the software.

-By default a program would be installed into one single folder (maybe even just by drag and drop?) the program can do whatever it wants in its folder but any additional rights have to be specifically granted by the user (network access, other folders, etc.).

-Every program is given a single standardised folder to store user data, like preferences or whatever this would make it really easy to efficiently encrypt/delete/backup data.

(Right now those folders are partially stored inside of the program folder, or my documents folder, or application data folder, or… the registry or even all at the same time – yeees by the same program.)

-Also, a centralised internet update system for all applications, a lot of problems deliver from installing/finding updates. Shouldn’t it all be solved with one single click?

WPT really saved me a lot of frustration. When I first ran it it measured 240 secs as boot time. 3 services were slowing it down significantly. Two from VMWare and the LanmanWorkstation service. I disabled the VMWare services and disconnected the network drives that were on autoconnect. Now xperfview reports 160 sec boot-time but I can generally browse web pages by that time.

So thank you Michael for mentioning these tools here.

Maybe you could include a stripped-down worse-is-better easier-to-use no-commandline xbootmgr-xperfview-only version in Win7. I am sure it would help a lot of people.

1. Microsoft’s idea of ‘boxing’ introduced with Vista is a nice one. (blogs.technet.com/askperf/archive/2008/03/28/startup-programs-on-windows-vista-inside-the-box.aspx) and (blogs.msdn.com/vistacompatteam/archive/2007/04/12/setthreadpriority-from-run-key.aspx). However, the problem is either AFAIK all apps are boxed or no app. How about allowing users to choose what to box and what not to box?

2. ‘Please wait while Windows configures updates.’ This is symbolic of the extremely frustrating Vista boot/shutdown experience. Again the servicing stack is a component with major performance issues.

3. As already pointed above by someone, the use of a blazingly fast non-volatile storage device (DRAM backed by a battery maybe) can do wonders to boot and paging performance. The Windows 7 team should consider standardizing this sort of hardware and ‘working with partners’.

4. The low priority I/O is another major ‘nice’ feature of Vista but apps really have to be written to use those APIs, can’t MS make it so that users can set a certain not-so-important app (in Properties or through Application Compatibility Toolkit) to perform slower I/O?

5. The apps MS itself creates suck at performance. Compared to the features gained (although the UI rendering takes a toll on performance), Office 2007 clearly ends up being the slowest ever version of Office. By contrast, Office 2003 was considerably faster/more or less the same than previous versions. See some benchmarks here: (www.oooninja.com/2008/07/benchmarking-microsoft-word-95-2007.html).

6. Not really a boot/shutdown performance related issue but another thing that bothers me is to probably make the process appear faster, Vista turns off the monitor as soon as users chose to sleep or hibernate. As a user, this is not what I want, I’d prefer the simple and determinate progress bar of Windows XP/Windows 2000 which gave me a more assuring feeling that the hibernation/sleep operation was successful. At least for hibernation, Microsoft should add back a determinate progress bar.

Talking about having too many programs trying to start after boot, the only tool I know that Vista is offering me to deal with these things are "msconfig", "regedit", and the folder "startup".

I think it’s a shame that I need 3rd party tools to deal with simple (as well as advanced) configuration of Vista (i.e. TweakVI). Why can’t advanced users like me get a 1st party tweaking dialog, which does stuff like this.

For instance, when I’m installing an OS, I have to use a tool or go into the "regedit" to change the default program-files folder to d:program files, because I just want my OS on my raptor (c:).

Couldn’t this be a setting under a tab called "advanced" during installation? I want to customize my OS more the way I like it, preferably during install.

Another thing I don’t like is progress bars that doesn’t tell me anything. If I get a program that either have a progress bar that just goes form 0% to 100% and restarts, that annoys the crap out of me. Same thing with progress bars that gets stuck, without me having a percentage or a textfield that tells me what it’s currently doing. I like installations with accurate % and a box that tells me what it’s doing. Because if it’s slow, then atleast I know it is doing something instead of just showing me some graphic.

I think boot times 75% under 50 seconds on clean systems is about as helpful as a Cadillac that gets 45MPG as long as you don’t put anything in your car – e.g. cup of coffee, a driver, a passenger, a drivers license, registration, insurance papers… if you have any of those such as papers or dust it will go down to 24 mpg and if you dare to install a driver it goes down to 18mpg…

Boot time is FINISHED when the last of the junk in your startup tray is done and you can click on something without waiting for it to start.

I think that is about a "clean" of a system as you are likely to get as I believe about 80% of people will have something like that preloaded as well as some adobe fast loader, quicktime (curses even if you load an alternative eventually it will come back for some other app or hardware), ipod, perhaps activesync or hotsync for a large number of business computers, some printer or scanner or combo, messenger and a bunch of other junk depending on what crapware their computer came with and junk they’ve installed.

I’m not saying you can’t modify the registry, ini’s, services and the startup group to make your PC cleaner but I think the "clean" system I listed is about as clean as MOST people other than the most stringent IT people will have in their startup or some of those and some others.

1) You want MS standard versions of 3rd party apps installed by default. You do know about the DOJ and European Union antitrust cases, don’t you?

Never gonna happen.

2) You want MS versions of logitech/broadcom/intel drivers – can you say "licensing fee"? "patent fee"? "trade secret"? These companies invest millions in information they’re not going to hand out to third parties.

"Clean" system performance is quite irrelevant for the end-users, since a "Clean" system is mostly useless piece of art. Of course it says that Windows team is doing well, but it is just a part of it. I’m not so happy if the kernel did 20% less paging (a great thing though), if my favorite apps take 2-5 minutes to start after I see the desktop.

I understand that more software you load on your system, more performance problems you might get. Windows is a big machine, many things can interfere.

Now, there are a lot of performance info there in Windows. Why not let the users to get into it? Build a front-end (Wizard, assistant.. whatever) that informs the user how much did the boot take, what made it take longer, what can you do and so on. Something easy (but also an advanced mode for professionals) that users can use and understand, and even tune up. The current Windows tuning options (not so easy to get) are "Programs" or "Background services". Not too much I’d say. I think there are many many points you can tweak to make Windows perform better for me. This way even Windows gets less criticism if the culprits are third party apps.

Moreover.. the slowest component in a PC (normal) is HD. It is something that really needs optimizing (not just implementing better elevator algorithm). NTFS is fast, so it’s not a FS problem. When I launch an app, I’d like something like "Clear the way! Stop using the HD until the user is done". Ok, background services don’t get happy, but this could be another tuning option, if I don’t care.

I’m glad you guys publish this blog because it shows that you guys are paying attention to what’s bugging Windows users. Kudos to you guys for this and listening to Ed Bott. He’s a talented guy and very respected among Windows users.

I still believe allowing third party applications to install during Windows setup/installation would be the best answer to anti-trust issues. Work with competitors to use the Internet to slipstream third party applications diretly into Windows.

I also agree that MS should create its own and optional but downloadable tweaking program. Something that allows to change behaviors, tone things down, optimise things for the more advanced users, and take things out as needed.

One of the best tweak guides for XP and Vista was written by Koroush Ghazi of TweakGuides.com. His article on Vista Annoyances Solved was nothing short of excellent. I recommend all XP and Vista users check it out. The tweak guides are pretty darn good as well.

I also believe Microsoft and the Windows team should be working on smoothing out the network stack. It needs to be less painful to deal with and easier to use. I have to admit, that from XP going to Vista, Vista is a blessing in disguise. Very efficiently, I was able to create to transition from Cat 6 networking to a wireless N networking. There was still some minor issues I was able to resolve, but I think there is room for improvement.

I also agree that its time to reduce or limit access or use of the registry. If there is a more efficient way to build Seven, that would be great. I would leverage the OEM’s to allow the consumer to get clean installs with no crapware on them. I’m glad Sony and a few others have started.

Firstly, thanks for publishing this blog. It’s already containing some very interesting stuff.

I’d like to see similar analysis on shut down performance. My experience dealing with systems on Windows Vista is that shut down time varies dramatically, far more so than boot up time.

When Vista is working well shut down time is faster than XP. However, when there are problems Vista takes far longer than XP. For example, when I see systems where processes have failed to close properly which have accessed the registry, Vista can take an age to shut down. Presumably this is a more reliable mechanism to prevent corruption, but I fear it may be achieving the opposite if users are losing patience and manually switching machines off.

In my view a slow shut-down speed is more dangerous to the reliability of a system than a slow boot-up speed. When booting users have no choice but to wait, but when shutting down they can always pull the plug.

Hairs – perhaps you aren’t understanding what I’m trying to convey by a Clean boot. I’m not saying MS should include licensing, drivers etc in the default windows that an end user installs on their computer. I’m commenting on the original part where ed bott claimed boot times under 50 seconds on clean installs. I think a reasonable "clean" install test sample needs the items I suggested for it to be a realistic boot time measurement – do you know ANYONE and I mean ANYONE who is running windows without drivers for a video card or any antivirus software? I’m not saying ms should include licenses for trend micro – what I’m saying is if MS/ed bott wants realistic measurements of how long a PC takes to boot – they should at least include the drivers for the network card, antivirus, video card etc in their test measurements.

As an end user I’d want to know what is slowing down my boot time at one instance and over a period of time. I’d also like to know what I can uninstall/disable and what functionality I’d lose as a result. Please include tools for doing that.

I believe Vista’s performance monitor already logs pretty much of that but seriously it is very difficult to turn it into something actionable for home user. And I consider myself the geekiest of NON-techs.

Having limited application start up and various option possibilities should be high on the list. Also having a sleep and hibernate mode…. that really works….. would help. Continue to learn a lot from this blog. Thanks

I’d say to clear them off. Windows could help fight against crapwares such as Google toolbars and the Norton virus (for me, Norton _is_ a virus, not an anti-virus).

The problem is that there are commercial agreements between manufacturers and the sloware vendors. Having 3d apps encapsulated into a sperate process group at boot time, tightly monitored by Windows for example. Talking with your commercial partners could also help.

Most of applications don’t need an installer. Their files can be copy-pasted to a single folder and here you go. 99% of softwares, and even some drivers don’t need reboot.

I always wonder why software makers complicated the life that much. And I don’t even talk about splash screens…

boe wrote

"if they all developed Windows 7 using Pentium 4’s with 512MB of memory it would run fantastic on a system with 2 GIGs of memory and a fast processor."

Exactely: the mistake with Vista is that it was developed for "the computers of the future" which never came. There are even software which artificialy slow down your precessor to allow developers testing for performance. You should use it!

technorable wrote

"if Windows let you configure a "speculative auto-login" that would essentially log the user in,… a system could still meet the majority of users security requirements.

If a different user logged in, then they would pay the price of the time to undo the speculative login but if that’s only 1% of the logins, it seems a fair price."

Good point: There are scenarios which would be nice to be customized upon install (and after).

"As an example Windows 7 effort, we are working very hard on system services. We aim to dramatically reduce them in number, as well as reduce their CPU, disk and memory demands. Our perspective on this is simple; if a service is not absolutely required, it shouldn’t be starting and a trigger should exist to handle rare conditions so that the service operates only then."

OH, GOD, THANK YOU – THEY FINALLY NOTICED SOMETHING OUT OF ORDINARY!

I hope it will be really working concept, and not 3-5 services removed plus thousands of registry layers to preserve compatibility.

I mean, I’m old and have no kids … so, don’t care if the world ends tomorrow. But some people do, and I’m wondering what amount of energy (power burn up) would be used for one billion computers in ‘sleep’ mode?

My PC (if you mean show the desktop – Win Prem Aced. upgrade with ‘clean’ install and SP1 bought 1st day of release) shows the desktop in around 15-30 seconds. However, I would not consider it usable at that time. Trying to start a program will take a long time to bring the program up. Also, the modem drivers have to load and show splash screen, etc.

My Pentax camera does not support Vista, so had to buy and install a multi-card reader. Vista reports this as a major slow-down in the start-up. Also, three additional USB (ghost) drives are listed alongside my HD, DVD and USB Readyboost.

My HD stops flashing after about 10 minutes. I consider this the boot up time. (To be fair, I probably can start working on things before that.)

What’s needed is some kind of RAM that holds the state of the PC when switched off, with just a tiny current trickle to keep it alive. Perhaps this is what ‘sleep’ mode does?

—

"..For instance, we’ve found the vast majority of “registry tweak” recommendations to be bogus…"

**I absolutely DISAGREE** – particularly with adding functions that were incredible to be left out. (Like removing delay in opening folder on start menu.) Every tweak to the Reg. can be checked immediately. Your own engineers had to come up with a way to improve Windows in the past – not approved by Microsoft – that was something called Tweak UI, or something similar. Stuff you did not address in the PAID FOR version!!!!

By the way – Vista does a good job of ‘fixing’ itself if something needs to be restarted, etc, more than any other versions of Windows. I’d like to address upgrades, but must wait for someone – IF THEY DARE – to show their head.

1st of all thanks for giving us the chance to say what we hope to see in the next windows..

2nd since i’m very satesfide with my windows vista experience, i dont have much to need, but a better use of the CPU is always appreciated… And please could you just dont make the windows take that much space on the Hard Disk… but its not a very delicate matter, as i guess every feature has its price, and it better comes on the HD than the Ram consumption or the CPU usage… yet again thats the case for me a single user of Millions who rely on Windows..

After all i really hope you can put most of the users needs together in your next version of Windows, which I’m sure that it will be GREAT.

Talk about performance issues. It took my Exchange server running Windows 2008 x64 over 15 minutes to shutdown today. Why? I have no idea…

On another note, somewhat related to the "duplication of efforts": How many authentication providers/role providers/user databases does microsoft have? There needs to be one single federated user credential store that all products use. I am not talking about active directory because AD is built on technology from 1993 and it’s not extensible, not scalable and it’s not written to integrate with database hosted authentication models. I see so many people post about their problems with AD or some role authentication issue with MS CRM, or some issue with ASPNET user roles, or SQL Server roles, or the list goes on…

How about setting up a single federated user authentication database and allow it to be controlled like ActiveDirectory and decouple the "Internet" facing instance from the core "AD" instance but manage them in the same place?

Right now we have too many user databases from different sites as it is… Such a pain.

I reboot now only for updates. My machines often are up for a full month. My tablet PC is always put to sleep. But resume-from-sleep performance is very patchy. After I first boot it can take 5 seconds or less and I can use the machine. But after it has been up a while it can take more than 30 seconds. The disk is being hit hard during this time and it looks like lots of page faults. I’d love to hear about test data for resume vs lenght of uptime…

For those who think that memory efficiency is not a worthy goal, remember that PC’s are not all home or developer or graphic artist machines. A lot of time they’re call center, or library computers that basically need to run one app all the time, and these PC’s need to be as cheap as possible because you’re buying hundreds, thousands, or maybe even 10’s of thousands of them.

It should be possible to run Vista in a "stripped down" mode that uses as little memory as possible, but even bare bones it still is a dog in 512MB. Doing absolutely nothing.

Time to boot is important but, frankly, I don’t understand why people are so hung up about this.

I keep more than five apps open, including a browser that is always logged into my webmail accounts. It takes me longer to re-login to those accounts and re-open all my docs, than it takes the computer to boot.

Great, it takes 30s to boot, but 1m for me to get my apps back where I can start doing real work…

That’s why I love hibernate and hybrid-sleep. Great ideas, been using it since Windows 2000.

2. Hard disks are getting faster and faster. Since Vista was released, mainstream hard disks’ speeds have increased from 65 MB/s to over 110 MB/s

3. Hibernate only saves the in-use RAM to disk; if my system has 8GB RAM but only 1GB was being used by the OS and apps and data, then only 1GB is saved. The system cache is not saved. This has been true since Windows XP (and MS even released a white-paper about hibernate improvements in XP)

The performance issues are non-existant today. Hibernating with more RAM may be slow but it is still faster than a booting from scratch and re-loading all my apps/docs/websites.

So on the one hand MS is pushing 64-bit Vista, touting how it can use more than 4GB RAM, and promoting power-saving features, but on the other hand disables hibernation on anything with more than 4GB RAM – the one power-savings feature that can cut a PC’s power use to 0.

Since we are now seeing the emergence of 8 and 12 core processors in the time lines of Intel and AMD… people will have many programs open and those with less time will being trying to do many things at once… so I think windows should be optimized for multi-tasking if anything.

What I thought would be amazing is the ability to assign keyboard(1) to mouse(1) and keyboard(2) to mouse(2). This would be most efficient for those using multiple screens, but the idea here is that you can switch tasks not by moving the mouse and selecting a new active window for you to type in, but just choosing to type on keyboard(2) which already had that other task selected by mouse(2). An option to assign a mouse n keyboard to a certain screen would be nice option as well.

A nice feature(s) for those multi-taskers, but just something I would like to see implemented into windows 7.

As someone who views the operating system as a tool for getting work done, or playing the games I want to run above all else, hearing that the amount of services that will be running is great news to me.

The note about windows needing to account for a huge number of scenarios, such as hooking up a new keyboard and running detection software for such an occurrence was interesting to me. You are right that the majority of users will not delve deep into their computers looking to optimize, nor are they willing to make things work right if they aren’t good the first time (With the hassle of activation utilities and updates, it’s hardly surprising). This makes it extra important that a Windows install works right the first time around. The system restore function is very helpful for this, but such utility could possibly be taken a step further for those who want to tweak their boxes for optimal performance.

Sorry if I’m starting to sound like a broken record, but I think it would be useful if the user was able to choose specific features offered by the OS during the install, while providing the option to add those features via downloads from the Microsoft Website or via the original disk at a later date. Not only would this allow for leaner initial installs should a user choose to do this as such, but if they removed a subset of software some time after installation, being able to regain it without the use of the system restore utility would be wonderful.

To improve the boot performance, besides optimizing/removing the needed or unneeded services i whould create a single contigous ‘core’ boot image which gets loaded into RAM on startup. This way almost all of the processes needed to be started will have a great part of their needed data in RAM. I would then run the services that search for HID devices / ethernet devices (for domain logon) and other services that cant be included in the image. Any other h/w detection i would leave it post-logon.

About general performance related to IO.

– I would maintain a sparse log about the time needed by each application’s startup (on logon) to access IO devices (in general the default system drive), and based on that information, post logon, when other Windows/3rd party processes are started (almost all at once), i whould instruct the ntfs scheduler/windows kernel to allocate more time to the process/es likely to finish loading faster. The HDD has a single IO port, and the SSD drives are still infants and no, they’re just an immediate answer, but not the solution for a few years: 10Khz(0.1ms) for random seeks << 2.5x2Ghz (4 cores), so 4 processes running on 4 cores, requiring data, will most likely finish later than running each data hungry process separately. (dont know if the Vista ntfs scheduler is already doying so, but the XP one is not; or if it is, then the timings are not correct.).

– I would use only one core (if more than 1 is available) to begin loading any process and after that, when the process has obtained almost all data it needed i would pass it to a new executing thread on another core (asuming you can find what data the process needs and that the first one is busy loading other processes). This way you are creating RAM IO bottleneks and removing some HDD IO bottleneks.

– In the case a user’s computer has more than 1 physical disks i whould copy the needed starup files to both(or all) of them. The kernel loader would look on each drive if such files are available and use them if so.

As for the construction of the desktop i dont think it will change post shutdown, so it can be built on shutdown.

Offtopic

About Windows and 7 in general…

1. do test Windows 7 using Pentium 4’s with 512 RAM. (i’d preferre a P3 with 256 :p). And if that system runs the clean-install of Windows 7 the way it should… you should state a new goal of making it faster and more responsive.

2. dont assume that most/all of the Windows users dont know what they are doing.

3. if a feature was in a way and/or available since august 1995 – don’t change or remove it, just asuming that the users will get aquanted with the new one. If you do change something, then you need change absolutely everything related to that item. (i mean put the features that you took from XP back – ex. The display properties window was doying fine with tabs, the Add/Remove Programs item was there since 1900, I needed Hyper Terminal and started looking through Programs and Features… and was missing, the Disk map in defragmenter gave me some info if any major system file was fragmented, etc…)

4. my ideea of a new version of an operating system is that

a) runs at least as fast or faster than the previous OS on the same hardware that the user has.

– because you’ve optimized that while for for loop to a while for loop or even written it (optimized) in assembly because that process was deemed critical.

– because of advancements in algoritms, etc

b) introduces some features that are compatible with the h/w of the above user (like resizable thumbnails, support for other devices, new scheduler, etc)

c) introduces even more features (like windows transparency, glassy looks, indexed search, DirectX11, etc…) for the computers that are capable and the users who are willing.

5. Open the Windows 7 Beta/CTP testing programs to the general public (developers). The IE team has a head start.

6. A Windows 7 Home and a Windows 7 Professional + KN versioning are enough.

7. Unlike what happened in the testing phases of Windows 6, do test, and test and retest everything; i really cannot believe that no one had noticed that at least one thing was not right in the beta versions of 6…

8. Don’t include features that aren’t conceptualy meant for desktop/bussiness computing in Windows. Do include them in server products, and leave them available for download (ex. indexed search. Search was/is just fine in XP (except for search in files and the dog clippit)).

I dont see the need for advancement in software just for the sake of consuming the cycles of the new available 8-core CPUs / RAM just because.

PS Sliding the windows to/from the bottom of the screen (at least for popup windows) leaves a large sense of slowness.

@bcthanks. I really dont think that the vast majority of computers have 8GB of RAM, heck not even of 1GB RAM (not counting Vista). It seems to me, that having even 4GB of RAM defeats the purpose of hibernation. (4GB / 150MBps burst (best) ~ 26seconds). Now, i really cannot imagine what you are doying in at least 16GB of memory space. I do just fine with VS, MSSQL, 2 graphing applications, and all the other small ones in 3GB (1+2RAM) of memory space. But i do recall my first HDD beying of 16MB.

Microsoft should block all OEM partners from installing crapware and useless trial software on all computers. Microsoft should force the OEM partners to distributing an original clean DVD of Windows. NO more hidden partition on hard drive, it’s a waste of space, it’s full of crapware nobody wants!

For example, all Acer machines come with an amazing amount of crapware:

It would be awesome if you could seperate windows/system services from servies added by third parties and end-users; in this way admins could detect harmful or unnecessary components and then easily disable them.

Categorizing services into named groups would be great too; because having everything named under svchost doesn’t help any to identify them.

It’s time that the old school BIOS and Registry disappear. It is also time for per file transactional history.

Searches should be fast, perhaps you should use your own SQL Server engine 🙂

Hard drives are getting cheaper, so a better partioning/RAID system is needed.

You should really look into DeepFreeze and how its system restore functions protects the system, it is the best thing since sliced bread; it makes those anti-virus apps look pathetic as far as system protection goes.

I would like to see notepad and wordpad be combined together into something a little better, I would also like to see a binary hex editor. Same goes for Paint and movie maker.

You mention the need to detect changed input devices so that a booted session has these working – then elsewhere, you mention using sleep or hibernate rather than shutdown, as a faster way to (re-)start up.

What if input devices, USB flash drives etc. are changed while the PC is "asleep" or hibernating? If these are faster because they skip hardware init, are they also not unsafe when these sort of hardware changes are made between sleep/hibernate and resume?

One way to keep system speed up is to concentrate most disk activity in a narrow range of head travel, irrespective of fragmentation, by keeping the C: partition small and uncluttered (e.g. 8G for XP, 32G for Vista).

That’s undermined by the stale gunk that piles up when software’s installed (Installer folder) and patches are applied ($* folders in %WinDir%). Add in SoftwareDistribution, RegisteredPackages, ServicePackFiles, IE7 updates etc. and you can soon have 2-3 "dud" code files for every one "live" code file.

I can’t think of anywhere else where one tolerates a 2:1 or worse junk factor – 50% CPU cycles wasted? 50% RAM clogged with stuff that will never be accessed? – so why impose the extra head travel to step over this junk?

What I’d like to see, is a relocatable shell folder object for all "cold storage" (reference material, uninstall/undo stuff, etc.) so that those of us who don’t live in one large C: can shove it out of the way.

Seriously, you stay away for awhile and then there are 2 new posts. Well, either way, before anything else, don’t give me that hardware resources are cheap, don’t install expensive music systems on cheap cars and so on, the OS is supposed to allow the user (and whichever programs he may need/want) to use the available hardware, not to use it for him. Ideally there would be no OS and all programs would handle the hardware, however with such an ecosystem of hardware devices and given all the added difficulties to developers (not to mention interoperability) that is not the case. By the way, the recent proliferation of simple EEPC and OLPC like initiatives plus hardware recycling for poor countries does make it a non issue.

Now more on topic: Firstly, don’t give the control back to the user as soon as possible, many would want to start right away and the overhead of handling what they are trying plus finishing the startup concurrently (lots of context change, scheduling, disperse I/O, and so on) would be worse than waiting such startup to finish and then going on.

Secondly, don’t try doing everything at once, upon installation and hardware changes decide what can be done concurrently, many issues like I/O capacity (SSD vs mechanical included), Raid, multicore processors, memory bandwidth, total physical memory amount, latencies and so on must be taken into account. As hardware changes (at least for core hardware) are not so frequent for one given user then all this extra work just on those occasions will pay back.

Thirdly, about those tasks needed for a PC to boot and for security sake, it would be better to 1st just load as basic of a kernel as possible, 2nd load the security stuff (third part included, like anti-virus/firewall), 3rd load must have low level services (like that hardware change detection), 4th load the device drivers, 5th load a plain text or ultra simplified user interface (at this stage an error report would be nice, given there are any errors), from here onwards the user should be able to decide what and if and when he wants to load, including a fancier login screen (or even a super fancy 3D login screen), I am quite sure corporate and power-users will prefer the non nonsense basic text login password stuff, by the way giving away a list with the users name is a security stupidity beyond me (specially since some don’t even come up with any password), at the very least, if such a list is wanted by the user, then allow for him to set one up but DON’T (can’t emphasize enough) allow the display of the account names (maybe a different configurable name, maybe even just a small picture, bigger on the super fancy, instead of any name at all). About other services, it is easier to identify when a service is needed than when one is not, then build a wizard to ask the user what does he want (loaded at install or trough the control panel), based upon the current services.msc power user ability (obviously keep this .msc stuff available). Lastly AND MOST IMPORTANT, concerning those startup applications, it would be better to load an interface which loads those, such interface would have an "available" and "active" lists, whenever a program asks for inclusion at startup he will be granted inclusion on such "available" list (after a checkup by the security programs/processes), those on that list however will not be loaded, the idea is TO MAKE IT IMPOSSIBLE FOR ANY PROCESS WITHOUT EXCEPTION TO INCLUDE ANYTHING WHATSOEVER at the startup sequence, later on the user is to decide what he wants and in which order those "available" will be actually loaded at startup by setting up the "active" list, THAT IS OF UTMOST IMPORTANCE, this is a very common (not to mention that autorun stuff from removable media) way for malicious software to compromise a system and a huge resource hog in the for of all those not really needed stuff that loads themselves into memory for a quick start even if you don’t want (notably adobe reader).

To close it up, some may want to do exotic stuff at startup, that is not really that bad, and they will probably understand the consequences, so there is no need to despair if some seemingly crazy startup times are present at your statistics (not this many of them but some are to be expected). Also, given current environmental concerns, powering down the system is a better choice, also battery life comes to mind (thou hibernate can be taken into account, well, at least as long as there is not so much ram to be dumped and then loaded that a standard boot would be better).

Regarding the very annoying proliferation of crapware on new PCs, perhaps Microsoft could suggest that OEMs provide a clean install of Windows – only adding drivers required by the hardware in the system. Then upon boot the OEM could provide a crapware installer except that in this case, the end user could choose which crapware er software they want installed on their system. Note that the guidance should state that *no* crapware install should be *required*. If not, I can see OEM’s providing the installer where certain items are required, effectively eliminating choice for the less savy end user.

Off topic: I would love to see Microsoft encourage OEMs to stop it with all the stupid stickers on PCs (Intel Inside, NVidia Inside,Vista Capable/Ready). It’s like I’m using a sponsored PC only I’m not getting a darn cent for the free advertising. Take a look at a MAC – very clean, very sano. All these stickers just make PCs look very uncool. At the very least the stickers should come off extremely easily. Or if someone is willing to pay me to leave this junk on my PC then I might consider that. 🙂 Seriously the success of Apple has made it *clear* that folk’s PC needs have moved beyond the beige box. People wanting something stylish in a PC especially a laptop.

Microsoft should block all OEM partners from installing crapware and useless trial software on all computers.

—> Agree !

I install clean vista, its fast !

as well as reduce their CPU, disk and memory demands

—> I think all of you, have trauma with vista…. and those reviewer simply hate microsoft… change always makes people shock

the biggest problem with vista, is…when you are idle, i will defrag your disk, when you are idle, i will index your file, when you are idle, i will…how the hell i turn on my computer and let it idle, when i’m done, i turn it off…

maybe you should make windows atom, not windows 7

how about this, when you charge you laptop, i will defrag, index, etc…..

boot time is unavoidable… its depend on hardware, so by watching the processor trend, just make the process superb parallel, and boot time is optimized…

Sorry if my post seems offtopic, but I would like to suggest something regarding the installation of the OS. I think that keeping the OS as clean as possible makes it boot faster, so this might not be as off topic as it first seems.

When user begins installing an OS from DVD (or CD ;)) user should be able to first enter the regional settings, other settings and the initial users. This would prevent the istallation interruptions we are used to atleast with XP.

After the user names have been entered, the installer would show predefined installation profiles for each user entered, which the user could click. It is important to allow different users to have different profiles. After installation, the profile would acts as personal profiles to tell the OS what to load for specific user. Some example set of profiles:

General: Full

Home: Typical, Minimal, Gaming, Entertainment, Tablet

Office: Typical, Minimal, Tablet

Advanged: Custom, Load profile from file (usb or such)

The profiles should contain explanation what they contain. And after selection user could customize the profile regardless they were advanged or not. This helps advanged users to create profiles fast. The profile selection and customization must govern which services, applications and content must be installed, and started on bootup for each user.

After all the installation profile data is collected from the users, the union of the selections are installed on the machine. If some user need stuff added on it after the installation, one must use DVD for it. But this is a rare thing to do, as I see it rarely OS stuff are needed to be added afterwards. Usually just removed.

After the profiles are selected and possibly customized, you just press "Install". After that, no additional input is reguired from user, and the OS is installed to the end and started.

I think this sound very simple. Predefined profiles removes lots of "user typicality pondering" from Microsoft side, and speeds up the machine removing the useless stuff. Plus it enables different users to have their own OS experience without regard the other users of the machine.

That is a installation I’d like to see, and if something like that is NOT seen on the Windows 7, I consider really carefully wether to move to Windows 7 or not. Stuffing computer with useless stuff is irritating, and executed by the vast majority of commercial hardware and software vendors (aka crapware, who wants a crappy music and videoplayer installed unwished with a CD burner??). If the same kind of (lack of) philosophy is executed by the OS vendor, it cannot be a fruitful ground for the efficient computer usage.

I’m not convinced that sleep mode is really the panacea that it’s billed to be. It’s a poor idea for laptops and pretty highly environmentally unfriendly for desktops. I’d far rather have a true quick boot rather than a speedy resume.

What you really need guys, is to make as many service as possible run in the Manual mode.

My home Windows XP SP3 PC reaches fully running desktop with *no* disk activity in approximately 14 seconds, while with a fresh install of Windows Vista I cannot make a system start in less than 25 seconds – there’s just a LOT of disk activity even after explorer(.exe) has been loaded and running.

Think logically: XP needs less than 120MB of binaries and libraries loaded in order to run, Vista needs at least 600MB.

Of course, modern HDDs allow up to 150MB/sec sequential reading speed, but if we are talking about hundred of small files scattered all around the HDD, this speed can decrease tenfold.

"Microsoft must continue to provide the tools for developers to write high performance software and the tools for end-users to identify the software on their system that might contribute to performance that isn’t meeting expectations"

No, Microsoft must *begin* to provide these tools.

Honestly, the only thing you can be sure of with the current Win32 API, and the MSDN documentation and samples, is that everyone will get it wrong. You’ve got so many API’s that behave in subtly unexpected ways, samples that show how *not* to do something (because it achieves the desired effect, even if it does so in an error-prone, non-robust manner that should never be seen in the real world), and you force the developer to deal with so many issues that should be taken care of on an OS level. Of course, improving this situation isn’t something that’s done easily in a year or two, or in a single revision of Windows. But let’s not pretend that you just need to "continue doing what you’ve always done". Because the only visible trend for Windows programming over the last decade is that it’s gotten more and more muddled and overcomplicated, and the "default" (if I as a developer *don’t* pay special attention to extra stuff like theming support, manifests, CRT dll distribution and a dozen other things) deviates more and more over time from how a program *should* behave.

And I like that you seem to be tackling the problem at the root, by actually minimizing the amount of work that must be done at startup, instead of, as Vista seemed more inclined to do, simply try to hide it better behind caching and prefetching and such.

so you really want to improve ‘real world’ boot times? then work with the BIOS companies. from when i turn my computer on at the power button to when windows actually starts loading takes over 30 seconds, and i have a bang up to date xeon workstation, so it’s hardly slow hardware

if windows started loading a second or two after the power was switched on i’d be at the desktop in under half the time

Having said that I would like Windows to boot up and sort itself out so you can start to use it and then somehow in the background it could load the other rubbish up and fill your tray with unknown icons. And can you stop Apple from sending me updates every three days

My experience with "sleeping" on my Vista laptop has been pretty bad. Pick a random number of seconds between 2 and 240, and that’s the amount of time it takes for my laptop to wake up when I open the lid. With SP1 this has improved somewhat, but it’s still not uncommon to have to wait 3 minutes for a responsive desktop.

Now I have to give the Vista team props, as it *always* wakes up – eventually – which is much more than I can say for my XP experience, where about 25% of the time my laptop never recovered from sleep.

I hope when the Windows Team is testing Windows 7 on systems out there it tries to order from the budget category. My brother purchased a Dell Inspiron in March 2008 with Windows Vista Home Basic 32-bit:

Specs:

Intel Celeron 1.8 Ghz

1 GB of RAM

Shared memory (don’t know the amount exactly, but I think its using the X3000 graphics from Intel.

Out of the box it was acceptable performance, boot in about 1 minute, from BIOS to building the desktop. But as applications were added, the performance and boot time of the system degraded. Here is a sampling of the applications he has installed:

– AutoCAD 2009 – His application of choice, day in day out. This app takes a long time to open and he often leaves it open.

– Office 2007 Professional

– Encarta 2008

– Virtual DJ

– iTunes 7.7

– Roxio 9

These are what he often uses. What he has resorted to doing now is just plain hibernate the system and it has worked tremendously in his favor. But, there are the times when has to install Windows Updates and restart the system for them to be installed and configured. Those now rare boot times can be excruciating.

In contrast, I have a laptop Windows Vista Ultimate 64-bit with the following specs:

– AMD Turion 2.0 GHz x2

– 2 GBs of RAM

– ATI X1600 256 MBs of vRAM

Apps:

Office 2007 Enterprise

Encarta 2008

Corel Graphics Suite x4

NERO 8

Yet, its seeing a similar boot time performance of over 1 minute or more. Loading the desktop can be the most excruciating part. What I notice on the laptop is when its fully loaded up, the applications do open fast. But the boot time is really the downer. I don’t like to leave my laptop sleeping or in hibernation of long periods of time. I personally have noticed and this is based on experience with XP not Vista, it does affect your system over time, things start to get corrupted and groggy. I think hibernation is at fault for killing my Dell Inspiron 840c.

What I have done is disable some of the services I know I do not need. For instance, Apples iTunes installs things like Apple Mobile Device Service and iTunes Helper Service. There are some things you can disable from Services in Admin Tools and MSCONFIG, but I personally don’t see a drastic difference at all, unless I am doing something wrong.

I would like a feature in Windows 7, similar to IE 7 where you reset the default settings back to its originally state. Meaning, when I buy an OEM branded computer, I can remove all the third party programs that OEM’s often include without having to reinstall the OS from scratch, this should not affect device drivers. But even virus protection software must be removed in the reset process. Let me the user; decide what I want to put on my computer.

But ultimately, a lot of the issues I see with Vista’s performance is mostly associated with processors and memory configurations that cannot seem to handle Vista’s high requirements, yet the OEMs still push these systems out to consumers. You need to have a serious talk with your partners about doing this. Either let them continue bundling XP on those systems or don’t ship them at all. Don’t let your brand suffer at the cost of consumer experience because OEMs are trying to save a buck or two.

I’m not apple fanboy by any means – I run one windows 2008 server (as a desktop OS), Windows XP on my main computer, Windows XP on my laptop and have one macbook.

PimpUigi wrote "XP’s boot is probably the fastest non Linux boot up time you can get too." PimpUigi, have you tried OSX – I hate a lot of thing about OSX but I have to admit it boots FAST, shutsdown FAST, and opens apps FAST. It isn’t thrashing my hard drive like Vista does and YES, I HAVE 2 GIGs of RAM and NO, I don’t have a lot of apps open and YES I have a Core 2 3 GHz Processor and YES I have over 250 GIGs of hard disk space FREE – Vista just doesn’t work well as an OS unless of course you are part of the Mojave experiment where you watch videos of it as an OS but don’t actually get to interact with the computer.

As for all the geniuses out there who say I run it on my new home PC and it runs fine, run it in a network environment and try to justify upgrading 20,000 PCs so the end user can have transparent borders but slow file transfers.

While I agree that Boot Performance is important, we should not forget one thing: Vista is fast during the boot (at least on my system), but when I logon, the indexer crawls the disk – turning the system in a nearly unusable state for minutes… THIS is the area where you should focus on. I would prefer a system that boots up "slower" but is immediately responsive when I logon… Thanks, Christian

When I was reading today one of newspapers, I have seen (my free translation): "300 000 000 USD for Vista rescue". I have seen some info about first Windows 7 deadlines in some other newspapers too.

Now I’m reading this blog I see comments (including my own) about the same things that were notified over years:

we want to have small, fast, modular system; we don’t want to have IE integrated (this is from me too ;-)); we want to have applications separated; we want to have full installing applications (including deleting from Registry) ; etc. etc.

My question: if Microsoft has got such money for advertising Vista, can’t put them for development ?

It would be much better, when these notified by users goals could be reached. System will be accepted very fast and it will allow for much more.

Without it we will have another Vista. And this is not good news…

If you want to avoid making this feeling in users, please explain, what will you implement from it in Windows 7 (and please make it precize)

I found this very interesting, especially the statement that "We realize there are other perceptions that users deem as reflecting boot time, such as when the disk stops, when their apps are fully responsive, or when the start menu and desktop can be used."

In my case I am running Vista on a HP laptop with a 64-bit processor and 2GB of RAM. It is 32-bit Vista. My perception is that boot has not completed until I can actually be productive and start to get my work done. My perception is that there are three distinct phases, I turn on the machine, and it is approximately a minute before I can log in. Once I enter my credentials, there is a one to three minute period of time until all of that post-login work is complete. Clicking on a icon during this time is frustrating because it just seems to slow down how long it takes to complete this phase. The third step is when I start outlook, and this is the worst, because now Task Manager will show that 100% of the CPU is being consumed for as long as three minutes. During this period I can neither do mail, or start any other programs. So it is more than Windows, Office appears to have huge resource consumption issues as well.

From the sound of that comment, I don’t think you have ever used AutoCAD before. AutoCAD LT 98 which I ran on my GT Workstation in 98 required a minmum 32 MBs of RAM. That was 10 years ago. Looking at more recent versions of AutoCAD like version 2005 and 2006:

Version 2005 – 256 MBs, still running it too on a system with double that amount of RAM. The same projects my brother and I do the same projects in that version in version 2009 and when you compare both. So, your view that AutoCAD is at fault for my system running Vista acting weird is rather inaccurate and unsubstantiated.

You are reading too much into the name AutoCAD, not because it is considered a high end app, means I must be running it on a Dell Precision workstation with 8GBs of RAM (although I wish I had such a system). If you believe it should be on a better system, then tell AutoDesk to make it a 64-bit app that can address more memory and we’ll call it a deal. 😉

I think a performance boost would be great. I have notices in Vista how it boots really fast somedays and others it slows down.

Why couldn’t Microsoft just release a 64 bit version of Windows 7 instead of 32. I have 4 gig of RAM in my system and I can’t use the whole 4 gig because I have 32 bit OS. By the time Windows 7 is released 4 gig will be standard. Something to think about.

Windows 7 needs to be something that is going to blow the minds of Windows and Non-Windows users alike. Vista is a great OS but it is very bulky. You guys have a huge job on your hands. Good Luck!

If microsoft want to performance the boot i suggest that "windows manage the msconfig automatically", So when a program want boot at startup, windows inform to the user that! is a good idea to windows is´nt slowly

2)AND THE "superfetch" IS A REAL PAIN, LIKE MOST "VISUAL EFFETS" FROM VISTA.

3)BY DEFAULT, LAPTOPS COME WITH THE "ECONOMY" ENERGY SETTING; WITCH ONLY USES 50% OF THE PROCESSORS POWER. THIS MAKES NO SENSE! IF I WANTED TO USE HALF THE THE POWER OF THE PC, I WOLD BUY ONE HALF THE PRICE!

I don´t know about the rest of you guys, but my experience with windows (all versions) have shown me that boot performance is good when the OS is "fresh", but, give or take, nine months from the instalation date, the system (the OS in fact) starts to behave with poor performance, on every instance.

on my workstation i run POVray and LIGHTWAVE everyday, the hole day long, but to do so, I have 4GB of RAM DDR2 on dual channel(667), my proc. is an Intel QuadCore Q6600 running at 2.8GHz, Nvidia GTS8800 512 Videocard, Asus P5B-Deluxe Wifi mobo and 320GB RAID-0 seagate barracuda HDD (2×160).

It´s a very powerfull system, but even with all this hardware, when the AVG is running, I have to take a break.

the MAIN PROBLEM with vista and others apps is that they can´t take advantage of multi-core platforms. that´s why a quad core is only about 50% faster then a dual core.

the kernel can´t handle so many cores.

on the other hand, ADOBE came up with a very nice solution to this "issue". on the "PHOTOSHOP CS3" there is an option to enable "3D acceleration". by doing this, image rendering on photoshop CS3 is mush faster (if you have a fast video card).

so my point is…

if there is a powerful videocard plugged into my system, why can´t the OS (windows 7) take advantage of it? and I´m not talking about "EYE CANDY", because, those things are useless. I´m talking about RAW POWER! just like NVIDIA CUDA… or EVEN LARABEE!

> Our perspective on this is simple; if a service is not absolutely required, it shouldn’t be starting

That will cut down quite drastically on the Windows vulnerability footprint. As well as improving the boot time.

Actually, it might be useful in improving the regrettable habit Windows has of requiring reboots for just about any change in the system.

In addition, I’d suggest setting the new hardware identification quite early on – certainly before the majority of services start up.

In relation to danwdoo’s comment:

"So how about creating something akin to Windows update where programs can register with a central service and then on an interval of their choosing (within bounds), have Windows automatically check for updates for them against some kind of central site where manufacturers can submit update information. This way, no matter how many programs you have installed, you only have one update check process that does not activate right away but waits for the machine to go idle first so it will not impact startup times in any significant way. It can then generate a standardized notification of program(s) that need updating and then let the user make a selection that launches whatever process is appropriate to update that application. There would be important security and other concerns to work out but I think this would be light years better than the current model where computers are so bogged down by these processes."

I have been coding for over 30 years and have worked on the PC since the first IBM was released. I wonder how much of the problem is bloatware in the developer toolset. The increase in the raw power of the chips over the last 30 years is amazing, but the operating systems have been getting slower and I don’t think that this can simply be explained by the extra features of the software.

How much of the core software written in assembler now? Or is it just software written on top of XP software.

I have just finished a project where the customer required to produce the program in C and it was blindingly fast on a modern machine. Even VB5 was extremely quick compared to what I am seeing with .net code.

Cartman05 was the only person to mention this point, but I’d like to bring more focus to it. I find it incredibly irresponsible of Microsoft to encourage an energy-draining state of "sleep" over shutting off the computer.

10 years ago when energy was cheap, computers could be inefficient and nobody cared. These days you have a large portion of the modern world focusing on carbon footprints, alternative fuels, and other random cliches that I don’t really want to get into.

But to counter all of this work that people are putting into improving the environment, you have the single largest computer OS manufacturer in the world telling people to leave their computers running all day, every day.

Encourage people to use *hibernate* and stop with this silliness involving *defaulting* to energy-draining "sleep" modes. Please.

1. It is true that a "clean" install metric is only useful to a point. Most of the severe slowdowns I’ve seen occur after a year or two of installing various apps. Perhaps an unobtrusive window should be displayed during start-up listing applications as they are loaded. By default this wouldn’t show system apps or services which were part of the original install, but only apps added after the original install. Something simple that allows users to compare how long it took *Windows* to boot compared with how long it took for their *bloatware* to load could go a long way toward keeping users informed about what exactly is affecting their system start-up performance.

2. Everyone (including me) who has seen Windows load from sleep or hibernate has been impressed. I had my wife use it too for a while, but now it’s turned off on both our machines because even on Vista, it is just not reliable enough. This is one of those really great features that everyone should use–and probably would…except everyone I know who has tried it has had enough problems to discourage them away from using it regularly.

To cheschire: I’m not sure what the real stats might say, but I know that I typically leave my computer on 24/7 since re-establishing my state can be so time consuming. If I had a sleep mode that worked reliably, I would use it and use less energy in the process. So be careful about discouraging sleep mode too much. Even though it uses energy, widespread use could actually lower overall energy usage.

@ddahlstrom – perhaps in America, sure, however in Germany I have seen a much stronger push for turning off a computer entirely rather than allowing it to sleep. Energy bills are typically much more expensive over here and so families and even companies try to find energy saving methods of all varieties.

My German father in law was confused greatly by Vista’s inability to actually turn off with the "power" button in the start menu, and was so frustrated that he actually wanted to get rid of the computer entirely and buy an old one from ebay with XP just so it would turn off when he shut it down. It wasn’t until I intervened and showed him how to hibernate that he started to finally accept the OS, albeit with reservation.

Boot performance is only part of the deal, there is a general performance issues, which so far has stopped my interest at Vista at all.

Even before XP came out i once read a phrase; "What intell Giveth, Microsoft taketh away" which seems ever more applicable. As a "simple" system user i’m not at all interested to be dazzled by the operating system, preferably the Operating system should emphasize on three ‘S’es, Stability, Speed, Security.

But on the defense of Microsoft, indeed newly installed systems are a lot quicker then the ones people have installed their programms and gadget’s. I would like a more modular approach to be able to kick out the "Wow" parts i don’t need (still switch every workstation in our office to a classic Windows ’95 look) And would very much appreciate a possibility to remove processes i do not need for daily operation, like my printer/mouse/whatever checking for updates.

Other software vendors should also comform to a rule that no processes should be started on a system that are not really neccesary for the general operation of whatever they need to do.

It would be helpful to give us tools out of the box to better track boot times. An online reference of processes (like a Wiki) where best practices and recommendations could be maintained for reference would help. How about requiring descriptions for each process so we know what the heck they are? Frankly, a category for each would help too. (Like the Hardware manager with the graphics and categories.)

I would also like to see more control for admins where processes could potentially be deferred by settings. Give us control to dial in an optimized boot process. So addition to Automatic, Manual, Disabled at the service level, perhaps something like Deferred Until Used, Low Priority, Background, etc. Of course, required services would not be configurable.

I agree with many posts that Vista, when it does log in, sits and spins while it is loading a bunch of stuff (for me, it is email, Carbonite, Live Mesh, Messenger, etc.) I have also noticed that Vista takes forever to boot when I have my WD External HD on. It appears to me that it is trying to mount it. It adds up to 10 seconds. If I turn it off during the boot process, Vista flies.

I will repeat my earlier post—why can’t we get rid of the booting entirely and follow the way mobile devices start? (Instant On.)

I agree with cheschire, concentrating on sleep mode for the sake of fast "boots" is the wrong approach to the issue but it seems like MS’s way of ignoring the issue.

If we tell them to put it in boot mode, we don’t have to fix the monolithic failures of Windows and we don’t have to address slow boots or shut downs. Vista is slow and bloated – let’s put some lipstick on this pig and tell our clients their equipment is too old and that is why Vista "seems" slow to them.

As for sleep mode – I contstantly get complaints from clients about their system going into sleep mode but they can’t wake it up – I’d say we should refer to it as coma mode instead.

I REALLY DON´T CARE ABOUT POWER SAVING BECAUSE THIS ENVOLVES LOOSING PROCESSOR POWER (LIKE IN VISTA, WITCH CUTS PROCESSOR POWER IN 50%) AND MAKES THE SYSTEM EVEN SLOWER.

YOU CAN´T HAVE THE BEST FROM BOTH WORLDS. EITHER YOU PREFER A GOOD PERFORMANCE OR EITHER A NOT SO FAST BUT A POWER-SAVING SYSTEM.

AND MORE ABOUT THE "SLEEPING MODE"…

AS BOE_d SAID, I ALSO GET A LOT OF COMPLAINTS ABOUT THE SLEEPING MODE, SPECIALLY FROM PEOPLE WITH SMALL ANIMAL IN THEIR HOUSES LIKE CATS, BIRDS… APPARENTLY THESE ANIMAILS MANAGE TO CRAWL OR JUMP OVER THE KEYBORD, "WAKING UP" THE PC AND EVENTUALLY CAUSING SOME DAMAGE TO SOME FILE OR OTHER PROGRAM THAT WAS RUNNING ON THE PC.

ANOTHER PROBLEM IS THAT THE SYSTEM TEND TO GET A BIT SLOWER EVERY TIME YOU "WAKE" HIM UP. I DON´T KNOW.. MAYBE IT´S JUST SOME "MORNING GRUMPYNESS"…

Just so everyone knows, sleep mode (S3) works very well with Windows Vista. If you have problems try updating your PC BIOS, Vista needs to work in conjunction with your hardware to use sleep mode. If your motherboard has shoddy S3 support then you’ll have a bad experience with sleep mode.

Hybrid Sleep is a fantastic feature of Vista, people should learn more about it before criticizing it.

When the PC goes into sleep mode everything shutsdown except for about 5 Watts of power which is used to keep the PC state alive in the memory. HDDs, CPUs, Fans, etc. all shutdown completely.

If you have Hybrid Sleep enabled then, if your PC is asleep and you have a power outage, Vista will resume as if it were put into hibernation once power comes back on. No loss of data.

well, my bios is well updated, it´s the latest version for my MOBO and I still find no functionality for the "sleep mode" and I´ll explain you why.

instead of ignoring the real complaint of most users, microsoft could LEARN WITH THEIR EXPERIENCES. sure it´s great to power up a PC in "just" five seconds, but it´s awfull to get from your job an see that your kid "tapped" the keybord and powered up the PC in just five seconds and left if ON FOR THE HOLE DAY!

This "vista power menagement" remembers me of that "Five misunderstood Vista features" paper that microsoft made unavailable for download the same day it was put online…

i guess microsoft team, specially the vista team thinks that people should learn and use vista and make no question about it.

the UAC is too nosy? not for the microsoft guys!

everyone complaint about the "sleeping mode" and what does the microsoft guys do? give us a "manual" about the "sleeping computer"!!!

THAT´S NOT GOOD ENOUGH FOR THE WINDOWS USERS!

YOU´LL GONNA HAVE TO DO BETTER THEN THAT!

today we have several versions of LINUX on the market, we have apple, and lots of people I know wants to downgrade to XP.

for me, the Vista seem a bit "user-unfriendely" from the moment it makes dificult to make some kind of changes (like the power settings and visual settings, for example) and the UAC is the worst invention ever!

The UAC only recognizes signed apps, and, when we try to start an "unsigned" app the UAC gives me the BLACK SCREEN, but IT DOESN´T GIVE ME THE OPTION TO SAY THAT THE PROGRAM I´M RUNNING IT´S OK!

i´ve search every manual to solve this "problem" and the only option is to "elevate without prompting", witch makes the system unsecure…

MS should concentrate on fast cold boots. Warm starts are not environmentally friendly and will become less so as time goes on. MS can be a good corporate citizen now and lay a solid foundation for a fast cold boot in under 15 seconds.

On my MacBookPro (w/4GB memory), the prefetcher caused a monumental amount of disk activity shortly after login. I used to show friends some of my safari pictures which are all in raw format. These are 15MB files that must be converted prior to viewing. Consequently, the prefetcher deemed it valuable to cache those files…

One question I have never had the time to research myself: Does superfetching co-operate with ReadyBoost? Would I have solved my performance problem by using a memory stick? (i.e. during the next reboot superfetch would be aided by RB)

Another sticky issue for me is that AFAICT Windows Update cause tremendous amount of IO as well. Resource Monitor seems to suggest that WinUpdate reads from a huge database when trying to figure out which updates to install. I suspect I can cut my boot time substantially by disabling Windows Update.

I have already disabled the search index, the superfetcher, windows defender, sql server (not really part of Vista, but still MS) and various security related services.

I am amazed by the kind of utilities that ISN’T labelled "adware" or "crippleware"!

OTOH, I do not condone 512MB systems. 512MB is not sufficient to run Win2k properly and it certainly won’t do for Vista! The cost of memory is negligible now. There is little point in living in the past. I told people two years (+) ago to not buy less than 2GB worth of memory, and there really are no excuses for owning 512MB systems at this point in time. Ignorance need not be rewarded.

A related suggestion: boot times wouldn’t be pernicious if the OS didn’t need to be rebooted so often. Really, folks, it’s not a crime against humanity that a system might take a full minute to start up. That’s not unreasonable in my view.

What is unreasonable is that the OS has to be rebooted for so many reasons. Windows Update wants me to reboot almost every time it installs an update. Most application installations require a reboot before they work. Connecting new USB devices often requires a reboot. Connecting new Firewire devices often requires a reboot. And, of course, my favorite: the inexplicable features-stop-working issues that require a reboot to make them go away.

If the system didn’t need to reboot every time somebody sneezed in its general direction, I don’t think startup times would be nearly so important. Thoughts?

I think you should lessen the number of places programs can hide themselves to auto start (HKLM, HKLU, Startup folders for user, all and users, system services).

Make it easy (like on Macs) to drag anything you don’t want on start-up out of the start-up folder into the bin.

Have a visual indication when a new item is added. Most people don’t realise Real Player/Quick Time/Adobe Update constantly add themselves when you delete them. They battle against the user’s will. If people could see this happening, they might think twice before installing it next time – or may complain to the company at fault.

Another thing about boot time. Please never allow a laptop to boot by it’s self when on battery. If something goes wrong and that thoughtful anvirus program crashes, your laptops stays on in the bag and gets hot, the fans spin like crazy and before you know it your battery is dead.

I like the Idea that RuslanUrban had about booting from an EEPROM but could we modify that to a USB flash drive? With mobo’s having boot from usb device capability and the access time to flash memory being much faster than disks, it could be like a small SSD drive to install and later boot windows from. A 16gb flash drive is 40 dollars right now and a 32gb flash drive is 90. Plus its much easier to carry (as an IT type of guy) a single or couple of flash drives than to carry a case of CDs for all of my programs that I need on a daily basis. Having windows on a usb drive would really make my life (and probably everyone’s life) much easier.

It could also be possible that after youve installed windows on your system the flash drive could be used to boot from. It could store a copy of all of the files that the system needs to read into memory for windows startup in a hidden folder (or partition if thats possible). That would greatly increase boot performance since after POSTing it would read the boot devices and see usb first. The windows flash drive would then say start windows on drive c (assuming its installed on c) with these files and load the boot files into memory with the last file sort of passing off the operations to the hard drive.

Measurement, measurement, measurement. Out here on the user end of the stick we need clear and concise ways to measure the perf impacts of the changes we make to our systems!

I have not read all the comments to this blog entry, though I have sampled them, and I *have* read all or almost all of the comments to prior entries. Over and over we see people essentially guessing at where the real bottlenecks are. In too many cases we see people perceiving bottlenecks where they are not.

This is not because those people are stupid; it’s because they lack clear and simple tools which cut through the fog. Every user who perceives a perf issue should be able to call up a simple tool which will help him understand the baseline performance of his/her system vs the current performance. The tool should be able to show them the top three resource hogs and give them the opportunity to kill those hogs and measure again – in clear and communicable ways.

When a user writes a blog entry or response about how Windows is performing badly (or well!), that user should be able to cut ‘n paste a simple graph and/or unicode data set which shows the issue in stark terms. I made some suggestions in comments to the prior blog post – and I’m in Redmond. Would be more than happy to sit with someone and yack all this out, if there’s any interest.

If we can’t all point to a well defined, objective set of benchmarks, we’re quite simply not all having the same discussion, even when we think otherwise! This is a huge part of the perception issue right now.

Well, after all this reading about Windows sizes, CPU cylces and RAM it is almost impossible for me to not become ironic perhaps even sarcastic with a depression lurking behind the bars.

Can you recall those old times when Windows was smaller, like Win200, for example. From today’s perspective it seems almost magical that this OS was/is able to run considering it is using so not much of a computer’s resources. Those programmers must have been true geniuses.

I currently write this comment on a Win200 machine. The task manager shows a usage of 265MB, Firefox uses 70 of it. can you imagine it? An OS that almost takes less amount of RAM than a browser considering all the other apps that are running? Wow.

And it even becomes better: the whole Windows installation takes only 783MB of disk space. And it works like a charm in that way that I can use the resources for the actual applications I use.

I so don’t care about preloading stuff and fancy Windows services. I care about each ounce of RAM and each CPU cycle when I create a 3D animation or an image in Photoshop on my XP machine. Or anything else that each and every moment is more important than the OS itself.

Isn’t it possible to see an OS for what it simply is? It is a basic platform to start your installed software and work with them when needed.

I really did not read all the comments but i have 1 idea that maybe helps, as easy as it is, this will change the WHOLE thing when starting a computer example, when you turn on your cell phone, you have a delay of just a few second while it loads the contacts mainly, but you can start to work with it. what if when i turn on my computer i have inmidiately some interaction that let me think that my computer is turning on at that moment? How? by asking the credentials in the first moment, just load the security and ask for user and password and use the last server if needed. While system is waiting for user input, the OS is working normally, loading other drivers, when user click on authenticate, the OS continues normally, but with long way already executed.

As previously said, clean boot times are useless. What users want to know is, how quick after logging in can we use a desktop? How longer before I can fire up Word, Firefox, IE, Outlook, IM etc. If the goal of a fast boot up is to reduce that time, thats great – but the focus should be on time to user interaction.

Ignore all the rhetoric about cpu cycles and memory bytes – set your minimum specification to be a 3ghz Pentium 4 with 1Gb RAM (or equivalent); lets get out of the stone ago for performance and utilize some CPU; lets recommend a quad core for optimal performance, and optimize the windows installer, networking and other essential services and processes to be multi-threaded!

Also Windows 7 should allow different WDDM video drivers so I can run an ATI and nVidia GPU at the same time if I want. 😉

I agree with Caveman-jim: best of all it will be to stay in 15 sec from power on to full OS functionality.

How many time we’ll start to click in some commands (button, link,…) and there were no response from windows because other service have to start?

I will be very happy if my computer start in 30 sec (not 15 or less!) BUT when I take the control I have the FULL functionality of the system. No more lag, or deleted text or canceled double-click.

Later, if a service start but there is another process that is more important, the service should be closed. Ad example, when I start a game in DX, I don’t want that process like Media Center Cataloger or sharing process or antivirus or antispam or other scheduled program kill performance of my game!

Part of the answer here has to lie in NOT using a disk to boot from. We know disk IO is very lengthy compared to memory access. So it seems to me, the architecture of the PC has to change to boot from solid-state memory, and that should not be organized like a disk (eliminate the overhead). In reality, this was the function the old BIOS performed. And its time to bring it back. If part of the OS involved in the boot is updated, then simply flash it to the solid state memory. A 2Gb flash drive/thumb drive costs about $10 or less. You ought to be able to put pretty much an entire OS on one. Sure, there’ll be extra stuff to boot up with, but rarely is that essential to getting started. We’re seeing this with the likes of Asus eePC booting Linux this way: Windows needs this also.

I am also surprised that MS have not mentioned antivirus. Whilst my PC would boot in about 1 minute or so without this, its a single proc machine and it takes 10 minutes (no, I’m not joking) for the antivirus to finish its scan and the desktop to become properly responsive. And this is true of any brand of antivirus these days. Multiproc machines probably help, but the damn thing is disk IO bound and CPU utilization isn’t a big factor. And I also kid you not, my system enables/disables/enables/disables USB ports about 5 times during boot. Its pretty clear there is timing mayhem with multiple components fighting for processor time, and half the time things don’t initialize properly as a result.

Do home users really need mutliple login capability? How many people really use that ability? What you really want is a "personality module". Its a USB key, or, heck make it a wireless dingle thingy. If you plug it into the USB port or have it close by, it brings up your desktop and settings. You could have one for your home use, or corporate use. Its the same PC, but now it takes on the persona you want. Want a gaming persona? Sure. It just loads up the minimal drivers required by the hardware and off you go. No, it won’t load MS Office or your email client since they are too large. Or maybe it could log you in automatically as well. If you don’t you can still use the machine – maybe in locked down default mode – to do simple stuff like browse the web, which should be sandboxed anyway. You need a clear distinction between hardware drivers needed for the machine to function and software you want to load. This is confused on Windows now, there’s no distinction in the boot process.

I think that MS development team should consider different approaches to OS strategy and look at solutions that gives better performance while retaining security. I’m running several versions of Linux and Mac, and see enormous differences in performance and resource utilization:

1) Linux has a very small footprint. I have SQL, file and web servers running on 256MB memory, totally outperforming Windows servers with 4x the memory and CPU resources. Questions that MS OS designers really should ask themselves is "How is that possible?" and "What would we have to do to get there?" It’s obviously possible!

2) Non-fragmenting file system. I’ve had never need to defrag a Linux file system. The Unix file system is just a secure as NTFS, but has much better performance and needs less administration. NTFS might have an advantage in corporate environments, but for plain vanilla installations NTFS is a huge bottleneck and needs to be replaced. I suggest go along and add support for Linux file systems ext3. This would give a huge improvement for most users.

3) The registry in Windows is yet another bottleneck. Linux uses a file structure to store various application and user preferences while Windows tries to keep the entire information in a single file that needs to be kept in (virtual) memory. Obviously the later implies a lot of swapping and memory demands as the entire DB is contained in a single file that needs to be loaded into memory. I suggest keeping the registry merely to manage domain policies, but remove it from the vanilla desktop OS. This would probably cut hardware demands radically.

4) "What do users want? – To what cost?" I think that MS is very good at tracking trends and users requests on functionality and design. But many times i see that these requests are not balanced to the cost. An exaggerated example: The user want to be able to see a dog waving it’s tail in the search box. MS says yes and implement the dog, with the requirements of 256MB of additional memory and 5 seconds longer boot time, and… Now the user got his dog, but if you asked him if he wanted the dog considering the cost, he would say no! I see that MS has problems to balance design and functionality versus cost. This is perhaps the major reason why many users find MS products slow and counter productive.

5) Scalability and modularity. Most likely, 50% or more of the features included in the Windows OS are not needed by the average user. Windows has become a monster trying to cover "everything" within a single OS image. This approach will not last much longer as the area "everything" becomes larger for each day. To make a more streamlined OS, MS have to start cut down the core and be better at modularity. Linux uses a very attractive way to do this. Study and learn! I can configure a Linux OS within minutes to do just exactly what i need and cut the HW demands to a minimum. Of course, the average user would never do this, but the point is that modularity makes it possible for Linux vendors to adapt the OS to specific conditions. A good example is that most Linux distributions have been adopted to reside and boot on a memory sticks with only a few Gig! In this area MS have a lot to learn! When do we get a Windows that boots from a stick? I surely would love it!

Finally, i would like to comment on MS "not invented here" problem. Don’t be afraid of using existing proved and working solutions. You don’t have to reinvent the wheel (you usually don’t do it better anyway). The reason that Linux and Mac is such good platforms is that they leverage on contributions from a huge (and quickly growing) community. I don’t see a reason why MS could not do the same, and take the best from the open source community and implement it in their OS. Of course, you have to live with GPL, but that’s should not be a problem correctly managed.

As been noted in previous posts, clean boot times are not a relevant measure. That Windows get’s slower and slower for each added application is a major problem that has to be addressed. It will NOT be easy!

This problem is a consequence of the current architecture of Windows. This problem does not exists to the same degree on Linux/Mac platforms. Why? The following are the major culprits:

– The inefficient registry

– The COM and DCOM architecture is slow and inefficient

– To many (and poorly implemented) hooks into the OS, like task bar, shell extensions etc.

– The extremely inefficient .NET platform.

The above must be considered for total re-design as their architectures are obsolete. I realize that this is an attack on the very foundation of the Windows core, and that is exactly what is needed. MS engineers have to go back to the drawing board and honestly evaluate and criticize their strategic choices in the past years, many of which is the product of "market strategic decisions" that has back fired totally.

I think from a technology point of view we have come to a point in time similar to the Windows 3.1 vs Windows 3.5 (NT) paradigm shift. Major changes have to be done, and backward compatibility must suffer. I honestly admired MS when they took that step in July 1993. It’s now 15 years ago, and the time has come for a new, long overdue, paradigm shift.

– If sleep worked well – why re-boot. But then why does my laptop keep waking up in my bag to do work when on battery power ? I hate not using my laptop for a week and seeing 20% of the power drained – thats why I hibernate. If its in my bag it tends to overheat if it wakes up.

— So hibernate resume time is important, my XP system with 4gb memory resumes from hibernate in seconds – and my vista laptop with a 7200 rpm drive with 2gb takes for ever – as does my work vista desktop. It’s almost as painful as boot -but why ? See below – sleep.

— If I can’t hibernate my 2009 x64 laptop with 8gb of memory (expected config) – what’s the use if it drains the battery power for the next time I use it on the plane ?

– What is boot time – the ability to start hte machine and work in a performant way with the machine with a typical user configuration from the main manufacturers Dell HP/Gateway/Lenovo.

– What is restore from hibernate – the same as boot. ( till I can use the machine effectively)

– What is restore from sleep – the day after I put the machine to sleep – the same as Boot and hibernate ( till I can use the machine effectively)

So lets look at what causes the problems on a typical system.

Lets agree that the industry trend is moving to almost exclusively LAPTOP in the mainstream over the next 24 months for home – and a slimline desktop with a single drive for Business.

Lets all agree that typical LAPTOP system is

Vista premium or business and at least 2gb of ram – most likely a current machine as 3/4gb of ram. (its a 25-50 dollar price difference)

I use my machine one day – and the next day I resume from sleep. What do I want….

I am on a wireless network or my router to my office or cable modem. I dont want to wait 10 seconds to get DHCP with event log errors noted about retries to connect to the network that the rest of my "slept" desktop wants to use.

I am on a wireless network and the next day the networks change – and it takes vista 1-2 mintues to figure out the network has changed and is no longer available while still trying the old network despite a valid preferred network being available instantly.

Lets assume most machines have office and antivirus and windows defender installed.

As I resume from sleep – windows udpate and media center update both try to do updates – and consume a high percentage of cpu and time. If office is not installed you dont see this as badly SIC. They just missed their daily window because my machine was a sleep. But I am in an airport on battery power !

Lets assume I have disabled MCUPDATE ( sorts 1/2 the problem out) after all my laptop is unlikely to be a media center – and most peopel use realplayer and itunes – all competing.

Then I need to default windows update to weekly instead of daily ( because I switch off windows defender because it causes to many event log entries and overhead each day I resume from sleep re-scanning when I dont want it to)

So finally use sysinternals process monitor before u go to sleep – when u resume see the amount of disk I/O. Look at the services that are doing it – and wonder in amazement. figure out ist the readyboost service – scanning every directory of your hard drive ( existing known windows bug report – but never fixed in vista). but wait – isn’t this a resume from sleep ? So as I cant never put an SD card in my laptop – most laptop’s SD card controllers are not fast enough for readyboost – why go through the overhead as if readyboost may even help you. Unfortunately the ready boot service is part of it and you cant disable one without the other. Turning this one service off significantly improves hibernate and sleep resumption.

I think the major problem remaining – is that every layered application cant determine that they "just work up" from sleep or hibernate – realize they missed an update window and immediately all start checking for the latest advert ( real player windows media) java upgrade thats not really due ( juched) (itunes update or itune) etc. perhaps the delay of these updates alone being randomized via a service they can atatched to might even out the resume performance spike. AFter all consider I am on a slow hotel network today – instead of my home yeserday – and all i really want to do is read my e-mail !

I think that the "Painful" uses cases are the ones to address not a hard cold boot.

Finally, if the Windows team, during beta, had "accepted" performance issues early on instead of closing them all " too early – we know better and have our own performacne team" only to reject most performance issues later in the beta as "too late" once they would accept them, many of these performance isssues, almost all reported in the beta but ignored, would have made Vista a much better product.

The idea behind any installation of Windows I make on my systems is to leave out unnecessary features and components.

It would therefore be great if you’d bring back the ‘custom’ installation process used in Win98SE – it surely helps reducing bloat, and a slim system is faster and more stable than the bloated installations of WinXP and Vista.

Thanks for an interesting post. It’s great to hear that you are looking at services and knocking out ones that are superfluous to the individual user’s setup and dynamically turning them on/off as appropriate.

As a lot of others here have mentioned, the biggest issue isn’t Microsoft’s fault, it’s the likes of Dell who pre-install so much junk that takes what would have been a perfectly good and fast PC and turn it into a very slow performing brick.

I think that MS should either force hardware suppliers to not install junk or perhaps create a mechanism that offers the user during the first startup the option to include or exclude trial software and optional items. That way if you say no as a user you just get the vanilla factory install.

I would be much happier to see an item on the desktop that says "Please Run For Dell Trial Software" and it then goes through a wizard that explains what each piece of trial software is and offers you to install it or not.

The main area of slow boot times is the things software puts into the "HKLMSoftwareMicrosoftWindowsCurrentVersionRun" key and this is inevitably applets that check for updates or boost startup performance of that particular app by pre-loading some of it.

To me if your application needs to check for updates then it should do that whilst the program is running a la Firefox or Paint.net not have something running all the time even when you are not even running the application.

Also the application should ask your permission before checking for updates rather than just hogging your bandwidth willy nilly.

The one that really gets my goat are apps that preload parts of themselves to increase startup times. To me if that’s the case the program needs optimizing. Admittedly some applications are just big and it is a benefit to have a pre-loader, but I want the app to ask me whether it can do this or not. If it’s an application like MS Office or Visual Studio that I use all the time then the hit on my boot up times is acceptable, but if it’s a bit of software I use only once in a blue moon I do not want the hit every day on my boot time.

The application vendors should be chased by Microsoft and asked to change their techniques as they are solely responsible for the slow performance and it is damaging Windows’ reputation. If they fail to respond then the MS "Startup Advisor" or whatever you are going to call it should recommend that the offending pre-loader be removed and offer the user the option to turn it off, with some caveats about how much longer the app will take to load if they do so they can decide whether to leave it or not. At least then MS is proactively making folks aware of what is slowing their PC start up times down, and also what the hit on their available memory is.

I really would love to have a tool that advises the user what is slowing startups down. Particualrly if it can identify Malware or Adware and offer to remove it.

I spend more time doing that for my clients than anything else and to be honest I’d much rather be writing them software or macros to aid in more productive work.

I think the worst part of MS and any ISV is backwards compatibility. If you could get that out of the way somehow (like WOW64) then I think more radical options could be available. This would be, in my personal opinion, a definitive win, if it could be implemented. The option to install a compatibility subsystem (like SUA) that would be optional. So 2 options, with or without compatibility subsystem. Then make dirt-cheap (or free?) upgrade options available for legit users.

Also, a 100MB Windows install-less CLI on a disk for booting is always nice and portable.

2. Why is MS working on faster boot times and at the same time encouraging Sleep functionality which discourages users from rebooting their PC. For 90% of Windows problems (and cause of frustration for users); a reboot resolves the problem. I shutdown my PC everyday (no sleep sometimes hibernate) and Windows never hangs/crashes. Along with improving boot and shutdown times, MS should encourage shutdown first, hibernate second and sleep the last.

3. Windows 7 OBE (out of box experience) should be clean and neat. Zero startup programs / icons in notification area and Zero popups on boot.

4. MS should not only focus on badly maintained / underpowered computers and dumb computer users. For ex- I get frustrated with speed of vista because theres all this prefetch and indexing and other unnecessary features. Any new feature should not be something that will benefit a bad PC and bad PC user but slow down a power user.

I wanted to follow up on my earlier post with a perfect case in point of why the registry is a horrid idea and a real mess. I have a friend who has a laptop with a wireless driver that was causing some problems. I went to uninstall the driver and received an error that the installer was corrupt and to reinstall the software. OK, no problem, so I try that and it fails to. So I try manually removing it and find a registry key that has a binary name that is hosed. I cannot delete it. I cannot change (or even view permissions on it). Can’t use an import reg file to delete it. Absolutely nothing works. Registry cleaner’s can’t touch it. Can’t rename it. I get an error just clicking on the stupid thing. I can’t roll back a restore point because I have no idea when the problem started. I understand the wireless software probably caused this, but because of the ridiculous design of the registry, I cannot delete the one single entry that would fix the issue! Please design a new system that allows for dealing with file corruption better!

If we could get rid of the "jusched" process, which checks for updates to the Java redistributable code, and (on XP) is a continuously running process that is visible in Task Manager, I would be happy.

It doesn’t need to run as a service OR a task; it should be a scheduled program that runs once a week or so. As you guys know, many other programs do the same thing with their "udpate checkers". I have seen more than one copy of "jusched" running on a computer at the same time.

The registry is not a horrid idea. If you remove it, you have to replace it with some centralized place where Windows, AND applications, can keep settings and preferences, while allowing concurrent access. Something better than .ini files. Call it whatever you want.

Perhaps keys should not be named in binary, but I have been able to remove keys that had odd names. That might be an error on the part of the driver developer (which the driver verification process should have caught, if the key really had a "binary name" and not just a GUID name). Keys that are named in a user-unfriendly way are not disallowed.

Why isn’t there a Vista logo when Vista is booting? the same for Windows Server 2008 too. I have both Vista and server 2008 installed on my computer (dual boot) and sometimes I get confused which OS is botting since they have the same boot screen with no logo. Windows 7 should boot very fast, unlike windows vista which takes way too long than XP to boot

I guess where I disagree is a more "portable apps" windows environment would lead to a much cleaner Windows running for longer before having to be reinstalled. I personally think the vast majority of apps don’t need to store their settings centrally and doing so is what causes a great deal of slowness and trouble over time. Sure this may not be appropriate for everything, but it should be encouraged wherever possible. I should be able to delete a programs folder and know the program is completely gone (other than any data in the user directory). There are many good and powerful applications that run this way now and I think it should be encouraged. It also gives the benefit of being able to transfer programs to a new computer and not just settings and data. Check out portableapps.com as one example of a growing list of applications that already follow this model. Many of these keep settings local and only have a simple registration option that will allow things like explorer integration, keeping their "messing" with Windows to a bare minimum.

Is any of this data with Speech Recognition turned on? When it starts, it blocks almost all keyboard and mouse activity. And for unknown reasons, it can take 3-5 minutes during which time one might think that their 3GHz quad core 8GB machine with RAID striped drives might be on the fritz since you can’t interact with it after starting it up. But apparently, with that setup, several minutes what it takes. I feel bad for people that buy the garbage that OEMs sell to most people and wait for what — a half hour??

This is not exactly the proper forum (though some of these comments affect boot time), but since disk was mentionned, the NTFS and PreFetch teams should be ashamed of themselves!

– I want pre-fetch off because the algorithms are very poor. I compile via VS 2008 all the time. After the first compile, and assuming I have enough ram (and I do), all files that were touched on disk the first time should still be in RAM. There should be some new memory page setting so this "cache" is immediately discardable AND does not show up in tools like taskmanager as being used (via the typical stats). Why is this so hard? If I have ram, use it! If you give use features like these, people will more readily adopt 64bit and get 16gb systems. And don’t let the msie team who abuses ram, touch it.

– It should not take 30 seconds to delete a local folder that contains 3000 files. This operation should be quick. If you guys are zeroing out the "deleted" space, make that an option one can kill. If this is a matter of disk spinning, get off of it. There can be some type of on disk contiguous cache where deleted {file IDs, size} touple are listed. This "cache" (which should also reside in RAM) be consulted during subequent file operations. During a subsequent disk operation when the head is not busy but is spinning on the area of a deleted file, you can perform your classic operation. This way, deletes effectively take zero time and does not slow down any other operation.

– ReadyBoost really sucks. I have a 4 GB fast SD card. I should be able to configure so that boots from hibernate or even cold boots do not touch my classic hard drive.

– STOP using the page file for operations other than hibernate. If I don’t have enough RAM to open a new application or perform a new operation, prompt me. At that time I should be able to say:

This is not exactly the proper forum (though some of these comments affect boot time), but since disk was mentionned, the NTFS and PreFetch teams should be ashamed of themselves!

– I want pre-fetch off because the algorithms are very poor. I compile via VS 2008 all the time. After the first compile, and assuming I have enough ram (and I do), all files that were touched on disk the first time should still be in RAM. There should be some new memory page setting so this "cache" is immediately discardable AND does not show up in tools like taskmanager as being used (via the typical stats). Why is this so hard? If I have ram, use it! If you give use features like these, people will more readily adopt 64bit and get 16gb systems. And don’t let the msie team who abuses ram, touch it.

– It should not take 30 seconds to delete a local folder that contains 3000 files. This operation should be quick. If you guys are zeroing out the "deleted" space, make that an option one can kill. If this is a matter of disk spinning, get off of it. There can be some type of on disk contiguous cache where deleted {file IDs, size} touple are listed. This "cache" (which should also reside in RAM) be consulted during subequent file operations. During a subsequent disk operation when the head is not busy but is spinning on the area of a deleted file, you can perform your classic operation. This way, deletes effectively take zero time and does not slow down any other operation.

– ReadyBoost really sucks. I have a 4 GB fast SD card. I should be able to configure so that boots from hibernate or even cold boots do not touch my classic hard drive.

– STOP using the page file for operations other than hibernate. If I don’t have enough RAM to open a new application or perform a new operation, prompt me. At that time I should be able to say:

The window defragger has not been improved in Vista vs XP, the only thing that has changed is a reduction in the functionality of the GUI. Both the XP defragger and the Vista defragger try their best to put the files listed in layout.ini first, and in order at the beginning of the hard disk volume. This is good but it is not good enough; not enough is being done to optimize the placement of ALL program files on the computer’s volume(s). All the rest of the files/folders should be placed on the disk alphabetically, so at the very edge of the platter of the HD (if system HD has only one volume) are the layout.ini files, then Docs n Settings, then Program Data and the all the files/folders within that folder sorted as well, then Program files (X86), then Program Files, then Windows, then Users, etc… the last file/folder will be the slowest to access since this would be farthest from the outer edge of the drive’s platter(s). This optimization strategy will significantly reduce the time to scan the hard drive to update the Windows Search indexing, and Virus/Spyware scanning. Thus, this strategy should be implemented in the Windows 7 Defragger, and bring back the darn drive map! Make the drive map like how Disktrix’s Ultimate Defrag displays it! After running that program my computer was a lot snappier to boot and use windows.

This strategy makes since, and the strategy should be configurable. I understand the Microsoft wants users to not have to think about defragging and to have it done automatically when performance is starting to be affected, and I am all for that, just improve the customization of defragmentation/optimization strategy, and bring back the drive map!

Of course none of this will matter, as SSDs are rapidly dropping in price, a 64GB OCZ SSD (not the slow CORE version of it) is only $800 right now, and would affectively remove the I/O bottleneck that is present in the vast majority of desktops and especially laptops today. So, defragging won’t matter in the near future, unless the user still has a magnetic storage device plugged in, and neither will Intel’s Turbo memory technology, it will be gone with the wind…

Reducing the boot times of windows 7 by increasing the parallelism in which software drivers load, initialize with hardware and come online is a very very good idea. I/O is the first bottleneck in modern systems (unless one has a fast SSD) during boot-up, followed by driver initializing times, followed by the system bus & CPU, imo.

To further increase parallelism with driver loading, I would suggest that Windows 7 monitor the boot-up process to realize which software drivers spend the most time waiting for hardware, and have windows 7 attempt to automatically reorder the driver loading list, so massive parallelism can happen; These slower drivers could be working in the background, waiting for the hardware to come online, while quick loading drivers are loading in the foreground, so to speak. Obviously the key here is to utilize as many resources of the PC as much as possible during boot-up, keeping everything busy in one big surge to get windows 7 booted up as quickly as possible. But there is a risk involved, Windows 7 could make a mistake and re-order a driver that must load before something else, so this is tricky business I’m sure.

I have respect for all (most) that Microsoft has done and I know that you can make a new OS that is polished and efficient!

well, it’s great to se some new changes in IE8, but as all beta software, it has some bugs. In Copenhagen at least, many users have serious problems using netbanking, also has bugs when using java, which causes the pc to freeze up, and a manual reboot is needed. regarding the boot preformance, there is a windows ( light ) already, that is only 75mb, and can be made as a boot-ISO-disk, so this information on boot preformance is auctually almost 12 months old, but nice to see there are aware of the problem, or at least waare of the 75mb iso disk

In my desktop system with Win7 64bit on an SSD drive, I changed the registry setting of iastor’s LPMDSTATE for all ports from 1 to 0 and my boot time from login prompt to desktop was reduced to only few seconds (from 25+ seconds to 2-3 seconds).

If I would still understand why there was such a drastic change, I would be happy.

Excellent topics. I really like this topics, I found this from online that, each recipe has been tested and each one has come out perfect If not, they are not added to the site. All you need to know is how to make the perfect dishes.

Excellent topics. I really like this topics, I found this from online that, each recipe has been tested and each one has come out perfect If not, they are not added to the site. All you need to know is how to make the perfect dishes.

I don't know if this is the place but I have an idle thought of using an Itouch as a touch screen for Windows 7 as they are both in meny homes it stands to reson that to use the itouch as an input for drawing cad like or art or any other use similar to a tablet.

Just a thought I know one would need 2 apps one on the Windows box and one on the itouch or ipad ect… However there should be no problems in this project as windows can see the touch already and interact with it, and a similar app is out there called air mouse.

This could lead to profitable apps for differant applications one for cad another for paint again for Photoshop apps also could be used for overhead projectors to draw or pointer and more that I won't mention yet as itouch is Bluetooth and wifi and direct wired there's much this could do in this format.

I must be missing something. The boot time for my machine is at least three times as long as it was with Vista Ultimate! Options on the start button are for Shut Down or sleep, hibernate doesn't exist. The use of sleep, which I used all the time with Vista, has the machine restarting at various times of the day AND night!!!!!

By the way I bought Windows7 for the reported improvements by the independents because I wasn't comfortable with Vista 64 and needed to get out. Where do I go next?

Bored… But my optimization of XP leads to 30 second boot times… (To note, running services.msc allows you to disable the vast majority of worthless services). (Another note is that the "IO PAGE LOCK LIMIT" causes the major slowdowns. If you reduce it you'll get faster boot times, increase it and you get slower boots.)

6G system memory HP p520f; 1 year old. was FINE until 5 weeks ago. then SLOW (30-45 minutes) boot or shutdown. No new hardware, but the service pack 1 screws things up so that I have to go to system restore.

I am from Malaysia.I have no issue with the notebook.A year later, it takes over 20mins to boot up to the GUI.I have use chkdsk and mem scan. All seems ok. This is very time consuming, already I have tried restore from factory default and formatted the HDD. It stills dragging. What is Windows 7 up to?

I appreciate if you can send a Microsoft technician to look at my situation. My warranty period is over.