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
Vista SP1 (Index 10)
Vista SP1 (Index 70)

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


View All Comments

  • whatthehey - Wednesday, February 27, 2008 - link

    The only thing they can do is nitpick about the use of a term like x64, when everybody knows what it means and Microsoft uses it all over the place (i.e. "Update for Windows Vista for x64-based Systems").

    You, sir, add new meaning to the term anal retentive.

    "The sky is falling - someone said x64 instead of http://en.wikipedia.org/wiki/X64">x86-64! Help!"
  • PrinceGaz - Wednesday, February 27, 2008 - link

    They probably use the term x64 because Microsoft used it for the 64-bit x86 version of XP - "Windows XP Professional x64 Edition", to differentiate it from the old 64-bit Itanium version - "Windows XP 64-bit Edition".

    Everyone knows what x64 means (everyone who actually needs to know, anyway), so it makes sense to use it as it is quicker and easier than alternatives like x86-64 or 64-bit x86.
  • Martimus - Wednesday, February 27, 2008 - link

    Is exFAT an open standard? It sounds like a promising File Management system for a non-Microsoft OS. Reply
  • mmjjzz - Wednesday, February 27, 2008 - link

    READ, interest problem found!!

    client: Intel Q6600, 4GB RAM, Vista 64bit
    server: Intel Celeron 2.53, 2 GB RAM, Windows 2003 SP1

    Gigabit network (Jumbo Frames Enabled, SP1 didn't improve anything without jumbo frames enabled)

    Pre SP1 (large file)
    client (non OS drive) -> Server (share 1) = 43MB/s
    Server (share1) -> client = 6MB/s

    Post SP1 (large file)
    client (non OS drive) -> Server (share 1) = 45MB/s
    Server (share1) -> client = 33MB/s
    on client, Copying from Share1 to Share2 on server = 900K/s

    Share to share TAKES FOREVER.. i never tested this pre SP1, but i am assuming it is the same
  • gimper48 - Wednesday, February 27, 2008 - link

    I may have missed this in the article. However, some people see it in update some do not. I have vista 64 and it has never come up as an option. Anyone know the methodology to determine who gets it and who does not? Also is the it sp1 only available to technet subscriptions? That kinda screws the small systems admin at a small company. They cannot upgrade all in one shot then. Reply
  • DigitalFreak - Wednesday, February 27, 2008 - link

    No-one is supposed to be getting it via Windows Update yet (except maybe some Beta testers). The fact that it was up there briefly the other day was a mistake on Microsoft's part. It should start showing up some time in March. Reply
  • haplo602 - Wednesday, February 27, 2008 - link

    While you mentioned UEFI, it would be an interesting separate article/guide. With technology description ad current state of affairs.

    Are you planning any such article ?
  • TheJian - Wednesday, February 27, 2008 - link

    I'm wondering about the comment made regarding XP64 being bad for consumers. Why? Myself I'd like to see XP64 vs. Vista64 benchmarks done (games and all). Is there something stopping you from benchmarking XP64? It's been 2.5 years since this article at Tom's:

    XP64 looked pretty good then, 2.5yrs later it should SURELY be better correct? Why no testing for XP64? Most of Tom's benchmarks show a dead heat for xp32 vs xp64. On Steampowered.com Vista 64bit only counts for 2.5% of their users and Vista total is only 16.5%. Shouldn't you have a go at 64bit XP? Unfortunately they didn't breakdown the XP32 vs XP64 numbers.
  • Ryan Smith - Wednesday, February 27, 2008 - link

    The issue with XP64 is that it is effectively an orphaned operating system on the consumer side of things. It was never even intended for consumer use, it was a slightly retooled version of Server 2003 designed to fill a gap for workstations that needed a 64bit version of Windows. Very few companies in the consumer space are testing their wares against XP64, this goes for both hardware and software. Compatibility problems are still few and far between, but never the less going forward it's only going to get worse particularly when it comes to drivers. Reply
  • TheJian - Thursday, February 28, 2008 - link

    Are you sure? Nvidia's latest WHQL driver is dated Dec2007 with these notes:
    # WHQL driver for GeForce FX, 6, 7, and 8 series GPUs.
    # Added support for GeForce 8800 GTS 512 GPU.
    # Recommended driver for the latest DirectX 9, and OpenGL applications.
    # Numerous game and application compatibility fixes. Please refer to the release documentation for more information on features, driver fixes, and known issues.

    They are still improving gaming with these! I don't see it as Orphaned when people are revolting against Vista. Read the fixes in the readme. There are quite a few issues fixed in 64bit. Don't forget people were buying this OS for years before Vista. Both Intel and AMD were selling 64bit chips before vista for years. People were running XP64bit and still are (if they wanted to use their chip's abilities that is). Is it so tough to throw up some benchmarks for xp64? Is MS telling you not to do it in some agreement like stopping XP SP3 benchmarks from being published in their EULA? Just checked ATI/AMD and their drivers are updated for 64bit FEB 13th! That's just 2 weeks ago and includes the 3870x2 boards.

    If movement in this area picked up (cough up the benchies!) I could see MS backing away from Vista and just re-releasing XP with DX10.1 and Aero Glass which would make Vista pointless. Vista could end up just like WinME. We ended up with Win2k, and for games that wouldn't run in that OS we dual booted to 98-OSR2 :) LOL I see drivers for my chipsets on Intel P35 and Nvidia boards also. I don't see waning support. Same date for Nvidia's xp32/64 drivers so they are developed together (the readme covers both also). It seems to me only Microsoft wants it orphaned. Crappy benchmarks would prove it (or not if they're great!) so lets see some please.

Log in

Don't have an account? Sign up now