Let me talk about my experience.
Actually I use a RME fireface 400 connected on the firewire port of my computer and as I play most of time in live, the latency can't be more than 128 samples, often 64.
With this latency I have discovered that generally when the CPU is above 50% crackles start to appear on audio out, especially when I use a lot the graphic engine: scrolling the IB or scrolling into a patch.
I spent many years trying to understand how I could improve this behavior and I found today:
the graphic card has an higher priority than the firewire port. So each time Usine draws something the firewire, set as a background task, is suspended, and audio crackles appear...
So now, the question is: how to change priorities?
Simple: change what we call "IRQ priority".
This works on W7 and vista, not tested on XP.
1) Start by opening the System Information utility (msinfo32.exe), and navigating to System SummaryHardware ResourcesIRQs to view the IRQs in use on your system, and the devices using them.
Try to find the IRQ of your firewire port (mine is 19) and those of the graphic card (mine is 4294967294, strange but not my fault..)
2) Next, open the Registry Editor, (regedit.exe) and navigate to HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlPriorityControl.
3) Create a new DWORD value in this key, and call it IRQ#Priority, where # is the IRQ of the device you wish to prioritize (e.g., IRQ13Priority for IRQ 13, which is your numeric processor).
I my case it was IRQ4294967294Priority (graphic) and IRQ19Priority (firewire)
4) Double-click the new value, and enter a number for its priority. Enter 1 for top priority, 2 for second, and so on.
in my case the following lines where added in the registry:
Code: Select all
IRQ4294967294Priority DWORD 0x00000020 (32) (graphic set as low)
IRQ19Priority DWORD 0x00000001 (1) (firewire set as high)
IRQ13Priority DWORD 0x00000001 (1) (numeric processor set has high)Code: Select all
Win32PrioritySeparation DWORD 0x00000026 (38)5) Close the Registry Editor and reboot your computer when you're done.
Now Usine can work with 80% cpu without any crackles...
For me it's like a miracle, and my computer will keep going on for 2 more years...
This works in a particular case with a firewire sound card. I'm sure you can obtain similar results with an USB card:
Setting IRQ8Priority (CMos) to high?
Find the USB port IRQ?
