It’s been almost a year since Windows Vista was released to consumers. We know that nearly half of our readers use Windows, so the future of the OS is something we take very seriously — even if many of you, for now, are staying cautious and working (happily, in many cases) on XP. We’ll be examining Vista from various angles over the coming weeks, both measuring the OS and telling you how to make the most of it if for music you are giving it a go.
To start out, we’ve again caught up with Noel Borthwick. Noel CTO of Cakewalk, and one of the most knowledgeable experts on Windows technical details. (He’s also a veteran Linux developer, so his perspective on operating systems goes beyond those from Redmond.)
When we talked to Noel this time last year, a lot of what was new still hadn’t been tested in the real world. Now, Vista has been in the hand of users, and there’s both some good news and bad. A year of Vista has meant a year of improvements, both from Microsoft and third parties. In my own testing, for instance, what began as a disastrous experience running Vista earlier in the year has now become more comparable to XP. (I’m currently on Vista SP1 release candidate on a modest PC desktop.) But there are still areas that could use improvement — and while general Vista improvements were welcome, I think there’s still the real question of whether Vista offers enough that’s unique to compete with its real rival, XP.
We’ll revisit some of those broad issues, but first let’s actually get the technical story, and clear up some misconceptions.
Peter: Many users wondered if the improvements to Microsoft’s WDM (Windows Driver Model) in Vista might mean using those drivers in place of Steinberg’s ASIO (as supported in most pro audio apps, including Cakewalk’s). Does Vista mean users can use WDM audio drivers in place of ASIO drivers?
Noel: This equation has not changed drastically in Vista. The same factors apply to the decision on whether to choose one driver model over another. WDM is the primary Microsoft driver model for audio drivers on the Windows platform. As such some hardware devices (most commonly consumer audio or motherboard audio devices) only have WDM available. Some users have reported that with some Vista hotfixes they get better low latency performance with WDM audio drivers than with ASIO. We do not have any hard evidence to support or disprove this specific issue.
Peter: What’s a quick picture of what shipping devices support WaveRT, and generally, what have the performance results been versus just using ASIO, etc.?
Noel: So far the only drivers that support WaveRT have been consumer audio motherboard devices. Adoption of this standard has been very slow from driver vendors – the only pro audio vendor to support WaveRT so far has been Echo Audio, who released WaveRT drivers for their PCI cards. (These drivers are not compatible with SONAR yet)
Note that WaveRT only applies to PCI audio devices so its a relatively smaller set of hardware that can take advantage of this technology. Additionally, current versions of SONAR only support WaveRT drivers that use Notification mode.
Some known WaveRT onboard audio implementations are from Sigmatel, Soundmax and Realtek. One of these implementations can be found in most shipping Vista compatible laptops and PC’s these days. (Note that the native Realtek drivers do not support notification mode which means they will not work in SONAR unless you use the Microsoft HDAudio.sys driver.)
[Ed.: You'll find Realtek audio even in Apple's MacBook and MacBook Pro -- hence the appearance of these drivers when you install Boot Camp. -PK]
Peter: Have you gotten any feedback that indicates your customers are taking advantage of consumer-grade WaveRT support?
Noel: Some customers have had success with consumer audio using WaveRT. Here is an example thread:
[Ed.: Some very impressive results on that thread, and I'd be curious to know if readers have similar experiences; I know a couple of early-adopter Vista users here did talk about good low-latency results on their machines as early as the end of 2006. There are readers having really low latency (6 ms!) on cards that were glitchy with even high-latency settings using ASIO drivers -- as you might expect from a consumer-grade card. Cheap PCI cards with high-performance audio could be a nice thing to have, indeed. -PK]
And one with ASIO4All and the Echo cards:
Peter: Last year, we discussed MMCSS, a technology for improving what Microsoft termed “glitch-resistant audio” performance. Now we’ve had a year to play with Vista. In the real world, does it actually do anything? When does it come into play?
Noel: MMCSS (Multimedia Class Scheduler) is basically a mechanism in Vista for registering time critical threads (such as audio processing threads) to get higher priority. For example, you can flag an audio processing thread as “Pro Audio” which gives the threads a priority boost. Essentially MMCSS then manages these threads ensuring that they are run with minimum interruptions preventing glitching due to other background tasks in Windows that compete for the CPU.
In SONAR you have to explicitly enable MMCSS in the audio options for it to be activated. Whether you see a benefit or not really depends on the number of other tasks running on the system. Unfortunately in Vista there is another issue which currently masks the potential performance benefits of MMCSS. I.e., many users have experienced that low latency performance under Vista across the board is lower than XP. We have reported this bug to Microsoft and understand they are working on it.
Peter: I understand that there have been some changes to drivers, moving them to user mode. Does this actually improve stability?
Noel: There are some misconceptions about this issue. WDM Kernel Streaming audio drivers are unaffected by the changes to the Vista audio stack. A host application like SONAR can talk to WDM drivers using the kernel streaming IOCTL’s exactly the same way as it worked in XP. The same applies to ASIO drivers. Where the changes to the Vista audio stack come in are primarily when using MME or the new WASAPI API’s to talk to audio drivers. The result is the new stack MME mode is less efficient in Vista than in XP.
The interrelationship between the core audio API’s and other user mode components in Vista can be seen here:
This since this is Microsoft supplied: http://msdn2.microsoft.com/en-us/library/ms679160(VS.85).aspx
The original initiative for MS to move more system code into user mode was primarily for system stability, not performance. A badly behaved kernel mode driver can take down the entire operating system whereas a user mode driver can only crash the current process. So yes, running a user mode driver can improve overall system stability to some extent by preventing fatal crashes.
Peter: Having tested Vista with NVIDIA and ATI graphics as drivers evolved over the past year, I’d say things are much better — what once would actually drag the system down with early drivers for Vista (even with Aero turned off in some cases) now seems about the same as XP. But Microsoft initially claimed GPU-based graphics would perform better, not worse. Any further revelations here?
Noel: We haven’t really profiled video performance much in Vista as compared to XP. Our impressions have been that it is roughly equivalent with the exception of the earlier driver issues you indicated.
Peter: Some users have reported MIDI performance issues — specifically, jitter — under Vista. How much of an issue is this? What are the factors that cause it?
Noel: Both Cakewalk and Digidesign and Cakewalk logged this issue with Microsoft. The root cause of this problem was found to be in the WinMM.DLL and was due to an inefficient check being done on every WinMM API call.Â It has been addressed in Vista SP1.
The issue itself was pretty severe and impacted MIDI timing on playback and recording. As compared to XP, in Vista we observed timing discrepancies as far out as 150 ticks. You could also run into cases where MIDI events were lost while playing.
Peter: Has Cakewalk tested the SP1 fix for MIDI jitter?
Noel: Yes we have tested the MIDI jitter fix and performance is much better in this area.
Peter: How do new driver signing requirements under 64-bit Vista impact users. I understand, for instance, MIDI Yoke is not compatible with 64-bit Vista?
Noel: MIDI Yoke is a 32 bit driver and as such will not work in X64. It has nothing to do with driver signing. Under X64 it is somewhat painful to run with unsigned drivers since you have to explicitly allow this on each bootup!
Peter: UAC (User Account Control) seems to me to be more than a distraction — it actually breaks a lot of software. Do you think there’s any chance we’ll see Microsoft fix this in SP1 or a future release?
Noel: From MS’s perspective there is nothing to fix. The fact that many applications don’t work with UAC is because they were not coded to be UAC compliant. This is one of the biggest areas that require change to work properly under Vista.
UAC is here to stay and in fact MS has advised that the file and registry virtualization support for application compatibility will be removed in future versions of Windows. I know of one UAC annoyance that has been addressed in Vista SP1. In Vista you can get multiple confirmation prompts while copying or modifying files in explorer. In SP1 you just get one prompt as expected.
Peter: A lot of the anti-Vista hype leading up to its release centered on DRM (Digital Rights Management) in the audio path. I haven’t personally seen any impact of this in Vista. Are there any actual impacts of DRM on pro audio work in Vista?
Noel: The DRM protection typically only applies to when you are playing back files through your soundcard in Windows itself and for consumer audio hardware. If you are using ASIO or your device is not set as the default audio device in Windows this is a non issue.
Peter: What’s the impact on performance of indexing and search services?
Noel: This is really not Vista specific. Any repetitive background operation like indexing can be potentially detrimental to real-time audio streaming and should be disabled on a DAW for critical applications. The same applies to Windows XP as well.
Ed.: I had originally advised users turn off indexing. I’m now suspicious that some specific bug was causing it to continue to run, because indexing is only supposed to start in a system-idle state. I now have indexing on on two Vista test machines, and haven’t seen any impact on performance whatsoever. -PK
Peter: Backwards compatibility was a big concern for a lot of users. It seems like perhaps this is more related to hardware than software. How would you describe the present compatibility picture?
Noel: I wouldn’t say that Vista is compatible with software in general without any software changes. Vista is very finicky about registry and file access permissions – much more so than XP. The UAC requirements alone can make legacy Windows applications fail while performing certain operations. Vista’s registry and file system virtualization attempts to alleviate this problem somewhat but its not a panacea for all legacy application problems, since this applies only to 32 bit applications not 64 bit applications. We primarily released the SONAR 6.2 update as a Vista compatibility update to address problems like this. Additionally, many application installers need to be updated to install properly on Vista.
Peter: What about the perception among some users that Vista is slower than XP? (I even saw this repeated, without explanation, but John Dvorak at PC Magazine — not that Dvorak isn’t known for hyperbolae.) We’ve heard some users who are very positive, and I can’t personally detect a difference (outside gaming compatibility issues). Is Vista close to XP in terms of performance?
Noel: On a 2GB system Vista would largely perform on par with XP provided you have drivers that play well with Vista. With lower memory, the larger footprint takes its toll and you might see slower performance overall than with XP. The low latency performance issue however, is still an issue irrespective of memory and CPU capabilities.
Peter: Okay, the key question: what’s better in Vista?
Noel: Until some of the critical bugs in Vista that mask the performance improvements are addressed, it is hard to assess realistically. My hope would be for at least equivalent performance with WDM and ASIO drivers in Vista under both X86 and X64. Of course, there are many users who prefer the UI and other enhancements in Vista over XP.
Thanks, Noel. There’s more to cover in Vista and Windows in general — and I’ll be meeting with folks from Cakewalk and Microsoft at NAMM — so stay tuned.