A Second Shot: Windows Vista SP1

by Ryan Smith on February 27, 2008 12:00 AM EST

What’s Fixed In SP1

Bug fixes are a big part of any Microsoft service pack, but not just for the bugs being fixed specifically by the service pack. Microsoft has released numerous hotfixes since Vista launched, correcting a number of issues declared significant enough that they need to be fixed before the next service pack, but minor enough that they’re not worth a full deployment and the kind of massive regression testing that entails. The result is that there are a number hotfixes already out that can potentially fix specific issues certain users are having, but because they aren’t well-tested they’re instead well-hidden with only a small number of users with extreme problems usually getting their hands on any given hotfix. Now that a service pack has arrived, Microsoft has rolled up all of these hotfixes into the service pack, in essence approving them for wide release and full support.

Among the 24 pages(!) of hotfixes that have been rolled into Vista SP1 are favorites such as the virtual address space fix and a fix for a conflict with NVIDIA’s USB controller and >2GB of RAM. Other additions include fixes for ejecting iPods, a fix for HybridSLI/HybridCrossfire (which is why the launch of these technologies is tied to SP1), and a fix for AMD Barcelona processors causing system reboots during Windows installations. While we could rattle off the entire 24 page list of hotfixes, the important thing to note here is that there are a number of small issues that have been “fixed” prior to SP1 but are only now being widely corrected. We’re going to spend most of our time going over the biggest and most noticeable fixes in SP1, but please keep in mind there are many more things addressed in this service pack than what we’re looking at today or are listed in Microsoft’s consumer-level product literature.

Among the most significant fixes to Vista in SP1 is Microsoft's work on further refining the User Account Control (UAC) prompts of Vista. Even after already being scaled down between the betas and Vista’s launch, these prompts are still rather prolific at times. An adjustment to the folder creation is the most prominently touted of these fixes, with the number of folder creation prompts (when creating a folder in a protected location) falling from four to one. Microsoft doesn’t list any further reductions in UAC dialogs, but as far as anecdotal evidence is concerned it certainly feels like they’ve done a bit more than that. This won’t change the public perception of UAC (or Apple jokes on the subject), but any reduction is welcome and perhaps will stem the tide of Vista users who are completely turning off this critical system feature.


Another significant fix appearing in SP1 is a partial resolution to the conflict between the MultiMedia Class Scheduler Service and networking. As we’ve talked about the issue a bit before, the Vista audio stack is now in user space, which has lead to a change in how it operates. MMCSS boosts the priority of multimedia processes to real-time levels so that lower-priority processes can’t interrupt multimedia playback. During this time many other operations are interrupted or delayed so that they do not themselves interrupt the audio stack. One area that is dialed back involves the network interfaces, which are limited to 10k packets per second as a precaution.

For SP1 we were hoping for a complete overhaul of the MMCSS so that it ceased adversely affecting network performance, unfortunately what we’re getting is something about mid-way towards that. With SP1 it is now possible to control the amount of network throttling that MMCSS does, which means that throttling hasn’t been removed completely nor has it even been adjusted as far as the defaults are concerned. A quick test with Microsoft’s NTttcp tool shows the throttling level remains the same post-SP1 as it was pre-SP1 (roughly 70Mbps on a 1000Mb connection), which means SP1 will not be bringing any immediate relief. Furthermore there’s no GUI component (or real documentation) for this tweak, so users will be left to directly modifying the registry, a very uninviting situation.

What we do know is that this tweak only affects network receive performance, with a key apparently dictating the maximum percentage of the amount of network traffic allowed while the MMCSS is actively working. The key:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\NetworkThrottlingIndex

...defaults to 10 (for 10%) and can be adjusted to between 1 and 100, with the system requiring a reboot between adjustments. We did some quick testing with this key and were easily able to set it to 70%, which got us around 550Mbps of bandwidth through NTttcp, and we probably could have gone higher - especially on multi-core platforms.



Default throttling (top) and throttling with an index value of 70 (bottom)

While this is a solution to the MMCSS throttling issue, it’s not a good solution. The default value still makes for rather anemic performance on gigabit networks and the nature of the solution means that there is no single correct value to use to maximize network performance while not interrupting the audio stack; the highest value is highly dependent on processor performance. As a result power users wanting to correct this deficiency will have to a lot of experimenting on their own to find the highest value their system can tolerate without affecting multimedia playback. Had this value at least been auto-sensing we wouldn’t be so disappointed in Microsoft, but at the end of the day this isn’t a great solution. We’ll fully admit the problem will only affect a small number of users (those with gigabit networks who need high network performance while using multimedia applications), but then we’re exactly that kind of user.

For what it’s worth, we did inadvertently discover that the MMCSS throttling process doesn’t engage when audio streams are using APIs other than WaveOut and DirectSound (i.e. aren’t directly routed through the user-mode audio stack). OpenAL and ASIO do not trigger throttling, which means it’s possible to have both unthrottled networking and proper multimedia playback under Vista, as long as there’s hardware present that can deal with these APIs. This may very well be good news for Creative Labs in particular, whose DirectSound-to-OpenAL “Alchemy” wrapper can be used to have DirectSound applications routed to OpenAL instead and preventing throttling.

NTttcp Performance

MMCSS Active
MMCSS Inactive
Vista RTM
70Mbps
940Mbps
Vista SP1 (Index 10)
70Mbps
940Mbps
Vista SP1 (Index 70)
550Mbps
940Mbps
.

Moving on, SP1 also introduces a few interesting fixes for the user experience. For anyone who has a system running a 32-bit version of Windows and 4GB of RAM, they will be well aware that in 32-bit mode not all of that RAM can be addressed, and that Windows reports the amount that can be addressed accordingly. With Vista SP1 Windows will now be reporting the amount of RAM in the system, and not the amount that can be addressed. The advantage of this is that it will reduce the number of computer owners thinking something is wrong because Windows doesn’t “see” all of their RAM; on the other hand this is clearly disadvantageous because they will no longer be informed that Windows in fact isn’t using all of their RAM, nor will there be an easy way any longer to tell how much RAM it is capable of using.

Another user experience change with SP1 is that password hints are no longer optional when accounts are being created. It turns out that OEMs were complaining to Microsoft that users were forgetting their passwords and had no easy way to recover control of their computer since the Administrator account is no longer active by default, so Microsoft has done something about it. Password hints are now mandatory for all user accounts so that forgetful users are less likely to forget their passwords. How that will affect people that then forget what their hints mean remains to be seen.

Index What’s Fixed In SP1, Cont
Comments Locked

62 Comments

View All Comments

  • 7Enigma - Thursday, February 28, 2008 - link

    It's probably to prevent all the tech calls saying, "Gee golly, I have 4 Giga-bites of RAM, but the screen only says I have 3! Where'd the other one go!".

    I don't see a problem with doing this, as if you care enough to know how much is actually addressable you probably already know the rest of the story anyway.
  • sprockkets - Thursday, February 28, 2008 - link

    Any word if you can use a non sp1 key with a sp1 disk?

    Most of us hate vista for some reasons, like it for others. It just happens to be that the reasons why we hate it are more than why we like it, such as the way you have to pick how audio is sent to outputs (i.e. analog or digital, but not both at the same time as in previous versions, also that darn cdrom audio input I need), UAC, the fact that after your initial install of Vista that those 80 updates will then cause it upon shutdown to process, then upon restart will spend even more time processing the updates (albeit it only happens once and sp1 will do it for you, for now that is), and of course, everyone's favorite, why the hell did they have to change things like how to remove programs?

    Did SP1 restore the cdrom audio input? Probably not. No, I use it for my TV tuner card which Microsoft feels I no longer need to use, which I can still buy.

    And for UEFI, perhaps now we can take control of features that should be in the BIOS, yeah, right (I'm looking at you Intel for not putting in S3 standby support on your D201GLY v1 and 2 boards!).
  • 7Enigma - Thursday, February 28, 2008 - link

    Many people use nLite or other programs to slipstream a service pack (among other programs and hotfixes). You can then burn this as a new .iso cd and use that in place of your original disk. Short story:

    I have a 3 year old system that I never reformatted (I know, the shame). When I built the system SP2 had just come out so my XP disk already has sp2 included. But obviously in 3 years quite a few (100's?) updates and hotfixes have come about and it would be a real pain to reformat and then have to go through all the reboots and installs. Not to mention the chance that during this my system could become compromised from a previous exploit.

    So I started hearing about "slipstreaming" and spent some time reading about it. These programs basically create a custom installation disk with exactly what you want (and excluding what you don't want), so that you can reformat the drive, install the slipstreamed version of XP or Vista, and have only a handful of updates (I think I had 8 updates total, and required 2 reboots). This is a fantastic way to start from scratch without spending a lot of time.

    RyanVM (at least for XP) keeps an infrequent update pack that I used with my SP2 disk to enable the reformat I described above. Once SP3 for XP comes out you could slipstream it to your existing disk in 20min and be ready to reinstall. Really I'll never go back to the old-fashioned way of hosing a system.

    HTH (and I apologize if you already knew this)
  • kdog03 - Wednesday, February 27, 2008 - link

    Well?
  • Ryan Smith - Thursday, February 28, 2008 - link

    No. That's a fundamental limit of 32bit operation, it can't be fixed.
  • mcnabney - Wednesday, February 27, 2008 - link

    In regard to the network throttling to make room for audio. A gigabit connection will be trimmed back to 80Mbs, 8% of capacity. Anandtech writes:

    "We’ll fully admit the problem will only affect a small number of users (those with gigabit networks who need high network performance while using multimedia applications), but then we’re exactly that kind of user."

    Hmmm. Lets think. What might need more than 80Mps while using audio? Hmmmm. How about, playing HD video off of a local media server?
  • HaZaRd2K6 - Wednesday, February 27, 2008 - link

    I just recently bought an eSATA enclosure for backups (FAST!) and in the article you mention "The only significant loser here are file operations over high-latency high-bandwidth links". Would eSATA be included in this list? Any chance of some numbers to check eSATA performance?
  • trparky - Sunday, March 2, 2008 - link

    The only difference between eSATA and SATA is the connector. Everything else is the same, even the data encoding used to transmit it across the wire.
  • ellis - Wednesday, February 27, 2008 - link

    Does anybody know of any good benchmarks made measuring the multitasking performance on Vista? (vs. XP?)

    And I'm not talking about the ability for multi-core optimized applications ability to distribute it's load on several cores, but on the ability to run several demanding single threaded applications in parallell nicely distributed on the avalable cores.

    So does anyone know of any test that has focused on this aspect of utilizing a multi-core CPUs?
    Perhaps comparing dual-core with quad-core, on XP and Vista?
  • Griswold - Wednesday, February 27, 2008 - link

    I cant think of a single benchmark for this other than the "benchmark suite" they use here at AT sometimes (bunch of apps doing certain things creating alot of load and timing it). But I wouldnt really need that as vista always felt more responsive with multiple heavy load tasks than XP - and it even does so on this almost 1 year old install.

    I would like to expect MS being able to improve on the far from perfect task scheduler that comes with XP for their new flagship OS. As far as i'm concerned, they succeeded.

Log in

Don't have an account? Sign up now