Summary of relevant advantages in Vista for Pro Audio work

Discuss music production with Ableton Live.
Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Summary of relevant advantages in Vista for Pro Audio work

Post by Timur » Fri Jan 11, 2008 9:41 am

There are a couple of (theoretical) reasons and advantages why we want Vista to replace XP in the long run. I say "(theoretical)" because there are still a couple of quirks of which many are hopefully solved by SP1 and because many of the audio-relevant new features are still not made use of by DAW/driver coders. Also support from hardware- and software-vendors is rather limited yet.

But before everyone starts shouting how much Vista is less performing than XP: I have done tests with both Vista and XP on my machine using Live 7 and a Midi Loopback test with three different Asio interfaces (2 x PCI + 1 x USB) and four different Midi interfaces (2 x PCI + 2 x USB). Generally I found performance to be on par with CPU load of Vista being only 1-2% higher and Midi latency+jitter being formidable on both plattforms! The only things that compromisse Vista's performance on my machine are:

1. A bug with either Live's GUI (both 6.10 and 7.01) or Nvidia graphic-card drivers that dramatically increases CPU load with specific GUI elements of Live (especially when using Simpler). Look here for more specific informations:

http://www.ableton.com/forum/viewtopic.php?t=81821

2. Badly implemented hardware-drivers like the drivers of my Audiophile 24/96 and that run perfect for Audio but introduce additional Midi latency of about 3 ms while all other Midi interfaces perform better than that (still latency remains below 4 ms though).

My computers specs are: A64 X2 @ 2.83 GHz, 2 GB RAM (@DDR566), Nvidia 4 chipset, NVidia 7800 GT, 1 x 150 GB WD Raptor (10000 rpm), 1 x 250 GB Hitachi 7K250 (7200 rpm).

So if you find Vista to be a performance hog on your machine I suggest that you first try disable of any services that you might not need (ReadyBoost, ReadyDrive, Windows-Defender, User Account Control etc). Only do this if you know what you are doing though (especially when disabling Defender and User Account Control). If you need advice on these service use an internet search machine please, don't ask here!

This post is meant to mainly discuss low-level "under the hood" improvements of Vista, not the pros and cons of Aero or any other fancy GUI related shit-chat (if you want XP with a nice and fully customizeable GUI buy "Windows Shades"). If you ain't interested in this tech-talk then just skip this thread please (yes, that means you Nebulae :P ;)).

I will only list the relevant kernel improvements in short, for more insight look here (german language):

https://thesource.ofallevil.com/technet ... spx?loc=de


1. Thread/process scheduling

Before Vista thread scheduling was handled on a set interval timer that lead to "unfair" distribution of CPU time among threads even if their are set to the same priority.

Before Vista ("Leerlauf" translates to "Idle"):
Image

Vista:
Image

2. Multimedia Class Scheduler (MMCSS)
MSDN wrote:The Multimedia Class Scheduler service (MMCSS) enables multimedia applications to ensure that their time-sensitive processing receives prioritized access to CPU resources. This service enables multimedia applications to utilize as much of the CPU as possible without denying CPU resources to lower-priority applications.
...
The key also contains a subkey named Tasks that contains the list of tasks. By default, Windows supports the following tasks:

Audio
Capture
Distribution
Games
Playback
Pro Audio
Window Manager
In short this is meant to guarantee audio-streaming without drop-outs. Yes, this means that our precious DAWs should be able to use this fancy new feature to get extra-high-multimedia-audio-streaming-über-priority! Unfortunately this does not come automatically, DAW manufacturers need to make use of it. As far as I know only Sonar uses this yet.


3. Filesystem I/O aka I/O Priorisation

Beside other improvements like symbolic file-links (similiar to what Unix OSes offered forever) and better I/O cancellation there are two important improvements that seems potentially very useful for music-creation: I/O Priorisation and bigger I/O Requests.


I/O Priorisation:

Before Vista access to the harddrive/files could not be priorized, only CPU time could be priorized. Try running an antivirus-scan or defragger at low/idle CPU priority while working with another I/O intensive application in the background on Windows XP. You will notice that the background-running low priority task will still slow down the harddrive performance of your foreground task considerably.

With Vista file I/O can have priorities for hd-access just like threads/processes can have priorities for CPU-access. Unfortunately there is no priority "High" yet, this will be introduced in future Windows versions. But scheduled tasks like Index scanning/building or Windows-Defender/Antivirus kind of applications should be running at "low" or "very low" priority and thus stay out of the way of normal applications that run at "medium" priority.

But far more important: Applications can reserve harddrive bandwidth! That means that DAWs could reserve a minimum bandwidth for track/sample playback/recording. In conjuction with the MMCSS a DAW should very well be able to guarantee glitch-free operation as long as your CPU and HD can deliver the load physically.


Bigger File I/O Request

Before Vista all file operations (aka transfering data from disk to memory and vice versa) was divided into a load of I/O request of only 64 kb size each. Even if an application send a much bigger I/O Requests it was divided into chunks of 64 kb. For example, copying a file of 10 mb size had to be divided into 160 I/O requests of 64 kb each. This creates quite some overhead for initiating I/O transfers and interaction with Kernel space.

In Vista I/O Requests can be of any size. For example the Copy functions of Explorer and the command-line use I/O Requests of 1 mb size now, which divides our 10 mb large file into only 10 chunks instead of 160. I don't know the specific performance benefits, but feel quite comfortable knowing that DAW related file-operations ain't divided into tiny chunks of 64 kb anymore. I am assuming that DAWs use bigger I/O Requests only where needed and that they use smaller ones where proper, given that they should know best how to handle their files.


4. WaveRT audio-streaming drivers

Actually the WaveRT driver-modell is nothing but a substitution for ASIO drivers and it even only seems to work on PCI/PCIe but not on USB/FW. So we might ask ourself what use there is to exchange the long proven ASIO drivers with a new Microsoft teinted driver modell at all!? Well, I don't know about you, but ASIO drivers often prove to be less than ideal performing for many hardware devices given the fact that they are kind of forced upon the native driver- and audio-system of Windows I don't even wonder about that. Mac OS features Core-Audio, a well defined standard-port for all audio-devices. Now Windows Vista at least goes into that direction, though some features like using multiple audio-interfaces concurrently still seem to be missing.

Unfortunately neither audio-hardware manufacturers nor software-coders seem to be interested in support WaveRT (yet). Only Sonar - because of their rather strong connections to Microsoft - seems to support it until now. That is quite a shame, because even with little to no driver support by hardware there is one very important piece of audio-hardware that fully supports WaveRT: Onboard PCI-Audio interfaces! No more messing with Asio4All I say! :D

Wikipedia wrote:For audio professionals, a new WaveRT port driver has been introduced that strives to achieve real-time performance by using the multimedia class scheduler and supports audio applications that reduce the latency of audio streams. As a result, user mode applications can completely govern streams of audio without any code execution in the kernel during runtime. WaveRT allows the user mode application direct access to the internal audio hardware buffers and sample position counters (data in the memory that is mapped to the audio hardware DMA engine). It allows applications to poll the current position in the DMA memory window that the hardware is accessing. WaveRT also supports the notion of a hardware generated clock notification event, similar to the ASIO API, so that applications need not poll for current position if they don't want to. WaveRT however works only with PCI, PCI Express or onboard audio devices; it does not work with USB or FireWire interfaces which are more widespread in the professional audio industry.

Microsoft Hardware Developer Central wrote:The WaveRT port driver supports audio applications that reduce the latency of audio streams by using the real-time scheduling support that is available in Windows Vista and later. Hardware innovations, such as the low-latency isochronous transfer modes of PCI Express devices, complement real-time scheduling.

To take advantage of these improvements, an audio device should be able to play or capture audio data with little or no intervention by the driver software. If designed properly, the audio hardware should require no help from the driver from the time that the audio stream enters the run state until it later exits that state. The result is low-latency audio that consumes few host-CPU cycles and is free of timing glitches.

The client for the WaveRT port driver is typically the global audio engine. The engine is the operating-system component that mixes the playback streams from the currently running audio applications and writes the mixed stream into the cyclic buffer. The audio device pulls the stream from the buffer and plays it.
Last edited by Timur on Sat Jul 05, 2008 9:59 am, edited 8 times in total.

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 9:55 am

...

Martyn
Posts: 2505
Joined: Sat Oct 04, 2003 11:22 am
Location: UK

Post by Martyn » Fri Jan 11, 2008 12:03 pm

An interesting read Timur, thanks for that. My only experiences of Vita have been on machines used for standard computing tasks like internet, office stuff etc, I've not tried running audio apps yet. To be honest I've found it less than ideal for even those simple tasks on the hardware it was purchased with, it's going to have to improve considerably before I'd even consider switching to it for audio. It's pretty damn expensive too if you ask me.

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 12:30 pm

I can only speak about my own experience on this machine, the installation is still fresh and only running Opera, Live, Avira Antivirus and the extra drivers for all my audio hardware. No problems whatsoever, everything is smooth and fast. One of the sources I was reading for putting up this post mentioned that Vista ran considerably more smooth when doing multitasking on an old Celeron 800 MHz machine because of the better thread-scheduling.

I am currently running DPC Latency Checker in the background to check for latency relevant glitches, nothing so far. But strangely that tool show higher latencies in Vista when running the CPU at maximum clock than when running the CPU on minimum clock. Lowest value I can reach is about 135 us (microseconds) when with minimum CPU clock, which increases to over 400 us with maximum CPU clock. I suspect a bug with the DPC software though, because latencies drop to about 40 us at maximum clock with XP and I seriously doubt that latencies in Vista increase with increased CPU clocks.

One of the most important things with Vista is to use enough RAM (at least 1 GB) and probably to switch off Windows-Defender and stuff like that.

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 1:09 pm

I exchanged the pics for thumbnails that link to the original pics, because the direct link asked for certification each time this thread was opened.

Landser
Posts: 238
Joined: Sat Oct 28, 2006 8:21 pm

Post by Landser » Fri Jan 11, 2008 1:34 pm

Let me see, if i get this right:
Vista is slower than XP but the Multimedia Task Scheduler makes it faster than XP...
IMO Vista is a bloated pice of crap.

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 3:09 pm

Thanks for the uneducated contribution Landser... And No, you did not get it right! You really think I did all the work just to inspire hate posting about Vista here? Guess again! :?

You may have missed the part of my post (in the very beginning) where I clearly stated that Vista is performing on par with XP on my machine: Vista is not considerably slower than XP on my machine. And that does not mean that my XP installation is running slow, it means that Vista is configured properly and the drivers for my hardware seem to work right.

If you feel that Vista is bloated I suggest you to switch off the bloat and acknowledge the real advances that have happened under the hood or simply stay away from it. This thread is not meant to make you switch, it's meant to present you the goodies of Vista and invite to a profound discussion.

bgc
Posts: 191
Joined: Tue Sep 05, 2006 5:05 am
Location: Pittsburgh, PA

Post by bgc » Fri Jan 11, 2008 3:30 pm

There is some real potential with Vista, and some great links out there regarding the tech that has gone into it. It is, hopefully, just a matter of time until it is "there". Tweaking is fun and all, but sometimes you just want to have something do what you want. Once hardware/software vendors decide they want to align themselves with Vista tech it should be great. But will they? Most likely, at some point. And, as people hack at Vista a little bit it should get better. Maybe we'll see some of the streamlined versions like you see with XP. That would be pretty cool. It will never happen, but it would be cool if MS opened up some of the underlying bits of XP to the open source community. Kind of an alternate reality thing, I guess.

Khazul
Posts: 3185
Joined: Wed Feb 23, 2005 5:19 pm
Location: Reading, UK

Post by Khazul » Fri Jan 11, 2008 3:36 pm

I assume your evaluation was on Vista 32?

Im still waiting for various compaies to get off their collective lazy backsides and get around to Vista 64 support.

For the time being however it seems I'm still basically stuck on XP with some key drivers *still* missing for even Vista 32.

Overall while vista is pretty, I actually find XP to be on avrage far more responsive than Vista - actually I was quite surpised to read the bit about I/O block sizes - if anything vista seems to be alot slower copying large files around, though it just seems to do alot more thinking about it before it gets around to doing the copy.

All in all - I have probably never used an OS that I have cursed at more - and by now I have been using it at home (vista ultimate 64) since its release and at work as my only latop OS since its beta days (vista enterprise 32).

Unfortunately it does actually matter how good WaveRT is - if it only works for PCI/PCIe devices then very few people here will be using it for music production anytime soon. I can understand why USB2 wouldnt be supported within it driver framework as that a best effort model, however I am very surprised at the lack of firewire device support, especially as it too supports the concepts of reserved bandwdth (well channels) etc, even if Firewire 800 is still extremely rare (non existant?) on PCs.

It does sound like WaveRT would be perfectly suited for implement by RME in their PCI cards - have they got around to doing PCIe versions yet?

I guess another application of this could be the various DSP cards - powercore, u-audio etc even if they are not audio devices in the class sense.
Nothing to see here - move along!

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 3:46 pm

You are right that Vista comes with lots of stuff and services running in background. Nevertheless it took me less than a minute to switch everything off that isn't needed. Later I turned some things back on and found out that they do not decrease my Live performance whatsoever. So let indexing run in background and let Aero display nifty glass as long as they wont get in the way with Live I don't see no problems there (actually due to the bug I mentioned before you cannot properly use Live without Aero atm).

Really, I only installed Vista this week to finally find out if all the claims and fuss about its lacking performance is anywhere near as bad as people shouting on forums suggest. At least with SP1 my conclusion until now is: too much uneducated shouting, Vista delivers!

One thing that really surprised me: the ASIO part of my M-Audio Audiophile 24/96 is even better than with XP. In XP I cannot change their buffer size while they're being used, in Vista its well possible (plus the GUI for the control-panel is more shiney, but lacks dB values for the mixer). I will do an in-depth comparison of my X-FI and Kore 1 drivers to find out if they only perform on par or maybe even better. They ain't no new XP drivers for the X-Fi at all, eventhough they're buggy, Creative only concentrates on Vista now.

I will try some hardcore 3D gaming tonight and see how everything works there. At the moment I am optimistic, but that doesn't matter for Audio Creation anyway. 8)

Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Post by Timur » Fri Jan 11, 2008 7:10 pm

Khazul wrote:I assume your evaluation was on Vista 32?

Im still waiting for various compaies to get off their collective lazy backsides and get around to Vista 64 support.
Yes, 64-bit support is overdue. Look at NI who did not manage to make Kontakt 3 a 64-bit sampler eventhough everyone was expecting it. 64-bit will come sooner or later though and Vista 64 is the first step by Microsoft towards a real 64-bit system (Windows XP 64 is kind of betaware).

My guess is that we will see the next Windows until 64-bit support becomes widespread by software companies. Until then Leopard will hopefully help to motivate audio-software makers to code for 64-bit.

inmazevo
Posts: 315
Joined: Wed Aug 08, 2007 1:44 am
Location: P.N.W.

Post by inmazevo » Sat Jan 12, 2008 1:30 am

I've been using Vista 64 Ultimate since it came out, and liked it at first.

But once I got over the initial "coolness" factor of a new Windows release, and finally being 64bit, I had to start using it in an audio/video environment... real world stuff.

Problem is:
VERY few application and plugin manufacturers are coding 64bit stuff right now, as a direct result of:
VERY limited selection of 64bit audio/midi interface drivers, as a direct result of:
Microsoft bullshit...

To me, the ONLY point to Vista was 64bit. Otherwise, why would you upgrade. It's 12GB... takes 50% more memory to sit still, has fewer audio/midi interface selections available, fewer applications available, and WORSE performance at ultra-low latencies (far worse, actually, down in 1.5ms land).

But they BLEW 64bit completely with their goofy driver signing requirements (for a fee), and goofy "enforce DRM for us" requirements put on driver developers. They made it even worse when they offered so many goofy versions, and didn't put the end-date of 32bit clearly on the wall. Even better, they offer WAVERT, that ONLY works internally... no FW or USB drivers!!! WTF is that? Why would you do that? Write a new audio spec that works with all devices and make it the only one, with compatibility layers for the rest. WAVERT, as a result, has gone no where.

Vista is the new ME. It really is. Not in that it doesn't work... it does. But because no one cares that it works enough to actually do anything with it, because it didn't do anything important, and never took off.

Now that it's a year old, frankly, it's pretty much over, since MS has already hinted at a next OS in 2009. No one's going to be spending a fortune on 64bit versions of everything when in 18 months they'll have to do it again, and hope Microsoft does it the next time around better than this.

Right now... today... you can get Leopard (which I have) and an 8-core/32GB max memory BEAST of a machine, that's 64bit top-to-bottom and VERY well supported. It's a little buggy, of course, since its new, but it's progressing on the 3rd party developer line @ lightspeed in comparison to Vista. And not everyone's 64bit there yet either, but Apple will actually force the issue. They'll actually do that sort of thing. MS will not.

Not that Apple is a this shit or anything. I don't think they are, but they currently have the right direction in computing for multimedia: 64bit, high memory, multi-processor, well-supported machines.

Why would you wait until mid-2009 to actually have a big selection of 64bit stuff to work with? And it will be that long. Vista 64 isn't going anywhere... it's just not.

It might even be longer, considering that MS has also stated that the OS after Vista will ALSO be 32bit, which I find absolutely shocking? Why in the world would you plan on still making a 32bit machine when the norm will be 8-cores, 8+GB memory, 4TB disk drives, for $1000. By mid-late 2009, that will be the cost. But wait, my 32bit OS can't see the memory, or use the bus appropriately, etc... Goofy.

They're completely mismanaged, and completely out of touch.

They have, all by themselves, given media creation back to Apple 100%. If you're on XP32... great. But if you're on Vista 64, your options are going to be SO limited in comparison to Leopard, and 18 months behind at best. Jobs has to be laughing his ass of at this development.

I've always used both Mac and Windows machines, and for 4 years now I've actually preferred XP to OS X. And for the 4 years prior to that I preferred Macs.
But right now TODAY... no contest: If you want 64bit AND a selection of interfaces/applications/plugins that are actually 64bit too... Leopard. If you're cool with 10% of the selection... Vista 64 DOES work. I've tried it.

Good luck with it,
- zevo
infinite density, zero volume

wxyz
Posts: 23
Joined: Wed Aug 15, 2007 12:33 am

Post by wxyz » Sat Jan 12, 2008 2:32 am

i'm using Vista Home Premium 32 bit with 3 gigs of ram. I do not need to use PAE or the 3gig switch to access the extra memory. This is an advantage with large sample banks.

adventurepants_
Posts: 1773
Joined: Tue May 29, 2007 3:05 am

Post by adventurepants_ » Sat Jan 12, 2008 2:40 am

thanks Timur, very interesting stuff.

Tarekith
Posts: 19074
Joined: Fri Jan 07, 2005 11:46 pm
Contact:

Post by Tarekith » Sat Jan 12, 2008 2:52 am


Post Reply