3. Problem:Unuseable performance when using RME (Fireface) drivers in combination with Live and Vista
Symptoms: Bad crackling even with only one audio-clip being played downto complete break-ups of the audio-driver that require to turn Live's audio-engine off and on again.
Analysis: This seems to be more of a problem with the RME-driver than Live, albeit it runs
alot better when using Reaper with the very same RME-driver while other audio-interfaces/drivers run smooth with the very same Live/Vista combination. Problem here is that the RME-driver keeps changing its own Dynamic Priority in between 24 and downto priority 2 (or maybe even 1). Since even "Idle" processes use a higher priority of 4 the driver is often superseded by other threads/processes. Other audio-drivers and Live's own audio-threads (when turning on multiprocessing) use a priority of 15. Even when Live's priority is manually changed to Realtime (which forces all audio-threads including the audio-driver to priority 31) the RME-driver keeps changing its priorities. That should not happen at all, since all priorities between 16 and 31 are fixed and thus spared from dynamic changes by Windows.
Proof:
RME Fireface driver priorities with Live running at "Realtime" priority
Audio Recording of RME driver, Reaper, 20 looping tracks/samples, 88.2 kHz, 64 samples buffer, heavy system load by Windows Explorer ("Normal" priority):[/b]:
http://www.zshare.net/audio/13614998cefb5337/
M-Audio Audiophile driver priorities with Live running at "Realtime" priority using the very same setup and CPU load as with the RME driver
Audio sample of M-Audio driver, Reaper, 20 looping tracks/samples, 88.2 kHz, 64 samples buffer, heavy system load by Windows Explorer ("Normal" priority):
http://www.zshare.net/audio/136150716702a570/
Current status: Both RME and Ableton know about these problems since about 7 weeks. Both have pointed fingers at each other and at the Nforce4 chipset. After all this time Ableton was finally able to reproduce the problem and even found the source to be around the priorities of the RME driver. It took me about 2 hours to identify that once I got sick of waiting and did my own analysis right before Ableton's "We found something!" mail reached me. This shows that upto this point both companies either were not willing or nor able to reproduce and identify a problem which easily can be reproduced on several different system within minutes.
Ableton still claims that turning off Multiprocessor support cures the problem, but stated that they will try to find a solution with either the next or a later update (atm they fear that their solution could break other fundamental things). RME has finally taking actions and posted a first driver update on their forums. That driver update only pushes Base Priorities to "Realtime" though without fixing the ongoing switching of Dynamic Priorities.
All in all I am in good hope that the combined effort of Ableton and RME will finally lead to a real solution soon.
Solution: Turning off Multiprocessor support can help alleviate the symptoms by freeing up one core for system-processes, but will not cure the illness. Until a real solution is provided by Ableton/RME the there are two workaround solutions, with solution a) being preferable. RME also provides a beta driver via the following forum thread that tries to fix the problems:
http://www.rme-audio.de/forum/viewtopic.php?id=3131
a) Turn off the MMCSS service via Windows' service list. This will force the RME driver to use a static priority of 15 again with no dynamic priority switching happening anymore.
You will get a warning that Windows Audio is depending on that service. If you need Windows Audio (for system sounds and the like) you can use the following Registry hack:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Audiosrv\DependOnService
Just remove MMCS from that key in the list, and set MMCS to disabled in services, then reboot.
b) Turn off Multiprocessor support in Live (this will also lower CPU overhead for audio-clips considerably)
and manually force Live to use only one CPU core via Task-Manager (Affinity) while other processes are forced to use the other (especially Explorer.exe and DWM.exe).
Conclusion: We've come a long long way together, through the hard time and the good, I've got to celebrate you baby, I've gotta praise you like I should...
