Diagnose and Optimization of Windows performance

Share your favorite Ableton Live tips, tricks, and techniques.
Timur
Posts: 2203
Joined: Mon Sep 17, 2007 8:55 am

Diagnose and Optimization of Windows performance

Post by Timur » Sun Jan 13, 2008 2:10 pm

The following free applications can help you optimize your system for audio-performance and for finding possible problems.


Windows' own system-info, if possible avoid irq sharing:

Image


Windows task-manager, to make sure no process is stealing CPU time without you noticing and check for memory usage. Also have a look at CPU priorities:

Image


Pci Latency Tool or Double Dawg for checking and setting PCI bus latencies:

Image


DPC Latency Checker, to analyse overall system-response (Live can still drop-out even if this reads all green):

Image


CPU Z, for checking CPU and memory stats, avoid overclocking the HT-Link on AMD systems:

Image Image


Prime 95 (Torture Test), to check for instabilities with your CPU or RAM (source of the problem might also be inconsistent power by your mainboard or PSU):

Image


Speedfan, to check voltages/fan-speeds/temperatures and harddrive SMART status. Even under heavy load voltages shouldstay within +-5% of the specs, preferably better. Don't worry too much about the readings though, because most motherboards don't provide exact readings anyway. Speedfan also be used to control fan-speeds manually and automatically depending on temperature for quieter recording enviroment:

Image
Last edited by Timur on Sun Jan 13, 2008 3:26 pm, edited 4 times in total.

forge
Posts: 17422
Joined: Wed Apr 21, 2004 9:47 am
Location: Queensland, AU
Contact:

Post by forge » Sun Jan 13, 2008 2:14 pm

thanks

links?

and - how do you avoid IRQ conflicts (I used to do it with Win98 but havent ever had to with XP)

forge
Posts: 17422
Joined: Wed Apr 21, 2004 9:47 am
Location: Queensland, AU
Contact:

Post by forge » Sun Jan 13, 2008 2:17 pm

My firewire controller is sharing IRQ16 with the graphics card AND the USB universal host controller

is there any way I can give it it's own IRQ?

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

Post by Timur » Sun Jan 13, 2008 2:24 pm

forge wrote:thanks
My pleasure! :D
links?
Internet search engines (I would have to use them, too)! ;)
and - how do you avoid IRQ conflicts (I used to do it with Win98 but havent ever had to with XP)
1. Change slot positions of your PCI cards, your mainboard manual should list IRQ lanes/logics of your board if your manufacturer doesn't stink! :P For example, on most mainboards the lowest position PCI slot shares IRQ with the graphic-card. Here is an example of my own mainboard:

Image


2. Switch off any devices that you do not use (COM ports, secondary LAN adapters, raid-controllers), preferably via BIOS for those you permanently don't use, else via Windows' hardware-manager. All IRQ above 15 are kind of "virtual" IRQs that Windows decides on how to share. Sometimes two interfaces share one opf these eventhough there is still another one free. It can help to turn on a device again, that you don't need just to force Windows into using different IRQ numbers so that two devices that you usually don't use concurrently share an IRQ while others have their own. If two devices share an IRQ it can also help to deactivate/reactivate one of them via hardware-manager, this often leads to the device getting a free IRQ if available (only until next reboot though).

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

Post by Timur » Sun Jan 13, 2008 2:29 pm

If you are using an onboard MPU-401 Midi controller (very good idea!) then make sure to use IRQ 10 and not IRQ 5 via BIOS.

This is the priority order of IRQ (highest priorities first) which can also be found on the list on the above post ("Priority" coloum). This means that IRQ with higher priority are handled before IRQ of lower priority if two devices invoke an interrupt at the same time!

IRQ 0 - 2
IRQ 9 - 15
IRQ 3 - 8

As you may notice IRQ 10 has a higher priority than most other devices (only superseeded by the System Timer and Keyboard Controller). You may also want to use a PS/2 keyboard instead of an USB one when controlling Live (any DAW) via computer-keyboard, because it will use IRQ 1 instead of the lower priority IRQ of the USB controller then.

IRQs 16 -23 are handled by Windows via ACPI which usually uses IRQ 9 itself. I do not know if these use the priority of IRQ 9, a priority lower than 15 but higher than 3, or a priority lower than everything else. Your only way to handle these manually is to turn off ACPI in Windows, so it doesn't matter that much anyway. Turning off ACPI will result in losing IRQ 16-23, which might lead to more problems with shared IRQs, but might also lead to less problems (because in this irq-sharing is not handled virtually by Windows, but physically). If you want to know which of these virtual IRQs share a physical IRQ have a look at the boot-screen of your desktop PC right before Windows boots (notebooks usually don't list IRQs there). If it's too fast for you use the PAUSE key on your keyboard.
Last edited by Timur on Sun Jan 13, 2008 2:35 pm, edited 1 time in total.

forge
Posts: 17422
Joined: Wed Apr 21, 2004 9:47 am
Location: Queensland, AU
Contact:

Post by forge » Sun Jan 13, 2008 2:35 pm

thanks but it's a laptop

as far as I've been able to tell the only way I could manually change them is to go into standard PC mode or something - I have a memory of ruining my day once doing that years ago - caused all kinds of problems
I just googled MPS multiprocessor...I found this interesting thread

http://www.driverheaven.net/laptop-note ... or-pc.html

others seem to have gone to MPS multiproc for this reason (well, dropouts at least) and get better latency

have you come accross this? they are mentioning that it messes up the power management and there seemed to be a concern over the core temperature

I have speedswitchXP installed - will that control it for me under MPS...?

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

Post by Timur » Sun Jan 13, 2008 3:01 pm

forge wrote:thanks but it's a laptop
The bad things about laptops is their lack of customisation. Try finding out the IRQ of your PCMCIA/PCIe-card slot. Maybe it doesn't share IRQs and thus runs better than the onboard solution. The fact that they share IRQ 16 shows that Windows is doing it wrong, try deactivating some unused hardware. Also have a look at how Vista sets up these IRQs, maybe there is the difference between why your FW runs properly under Vista but not under XP.
as far as I've been able to tell the only way I could manually change them is to go into standard PC mode or something - I have a memory of ruining my day once doing that years ago - caused all kinds of problems
I just googled MPS multiprocessor...I found this interesting thread
That's what I meant in my previous post. Generally ACPI should run properly on all modern systems and is to be prefered then. Unfortunately some BIOS/mainboard manufacturers may still do bad implementations or some plugin cards may not work. I can work with or without ACPI on my PC, but don't see no benefit from switching it off on my system.
others seem to have gone to MPS multiproc for this reason (well, dropouts at least) and get better latency
You can always try. :twisted:
I have speedswitchXP installed - will that control it for me under MPS...?
Generally I see little benefit by using utilities like SpeedswitchXP beside the ability to permanently clock the CPU to a set minimum (or anything in between). I have used Rightmark's CPU Clock Util which should be even more sophisticated than SpeedswitchXP, but in "Dynamic" mode it generally runs worth than Windows' build-in clock-switching via Energy-Managment. The reason for the worse performance is that these applications run at "Realtime" priority in User space while Windows' own energy-managment and your CPU's driver run on a lower system-level and thus work more integrated and perfoming when doing dynamic switching.

Anyway, you better turn off any dynamic CPU clock if you need maximum Audio performance. Else you may notice drop-outs in Live even when CPU load is low. My advice is to turn on Windows XP's energy-managment tray-icon and switch to "Desktop" when working on audio (if you're using a power-plug instead of batteries), this will turn off dynamic clocking and clock the CPU to max. Any other energy-managment profile will turn on dynamic clocking (aka Speedstep, PowerNow, Cool&Quiet).

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

Post by Timur » Sun Jan 13, 2008 4:25 pm

An addition to IRQ sharing: It's not bad per se! Todays hardware should be very well capable of sharing IRQs. That's especially true if two hardware interfaces are not used at the same time and thus don't really get into each others way.

One example is the graphic-card. As far as I know graphic-cards use their IRQ only in 3D mode, although I can imagine them using the IRQ with modern 2D accelleration functions as well (at least for video/decoding accelleration). Some BIOS settings still offer the option not to give any IRQ to the graphic-card at all (Windows will do it regardless of this option). So having your graphic-card's IRQ shared with another piece of hardware (like even your audio-interface) may not be a problem as long as you don't use both for gaming. Using Aero (3D) under Vista is likely to be different though, because Windows is using 3D accelleration options for it's very own GUI then.

So as long as you don't experience problems don't panic. If you think there might be a possible source of bad performance then try switching devices off via hardware-manager first, this will free the corresponding IRQ at once, usually even without need for a restart.

forge
Posts: 17422
Joined: Wed Apr 21, 2004 9:47 am
Location: Queensland, AU
Contact:

Post by forge » Sun Jan 13, 2008 5:20 pm

well, I've spent a lot of time now fucking around with different settings and hardware profiles and uninstalled SP3 because M-Audio have just released a new driver today for the FW410 and when I tried to install I get "Installation aborted - M-audio firewire family not compatible with this version of windows" or something - so I uninstalled SP3 so I could try the new driver but even after uninstalling I still get the message

so I cant try the new Driver

So now I have decided that Vista is for recording (no buzz on the inputs) and XP is for production (better performance and more of my plug-ins available)

It's really not that big a deal to reboot between those tasks

arachnaut
Posts: 951
Joined: Mon Aug 21, 2006 9:58 pm
Location: Sunnyvale, CA USA
Contact:

Post by arachnaut » Sun Jan 13, 2008 10:03 pm

Thank you very much for posting this enlightening information.

While I was aware of most of this, the DPC Latency Check is a
real help.

Usually when I record I disable unnecessary functions, devices, tasks, etc. and have no problems. This tool let me discover something interesting:

I noticed a 3 ms spike in latency at exactly every minute exactly as the minute hand of the clocked ticked 0.

It turns out this was some network feature on my wireless card.

Disabling wireless (something I usually due when recording) removed the spike.

I didn't bother to trace down the exact culprit (probably some arp or network gateway function) because disabling and re-enabling is so easy.

Thanks again!

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

Post by Timur » Tue Jan 15, 2008 5:39 pm

Anymore questions?

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

Post by Timur » Mon Mar 10, 2008 10:13 am

Bump for you newbies! 8)

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

Post by Tarekith » Mon Mar 10, 2008 2:52 pm

You mentioned in your other post you were curious to try out OSX since you just got a MBP. Would love to hear your opinions on it versus Vista. :)

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

Post by Timur » Mon Mar 10, 2008 3:08 pm

Nah, "once" I get a MBP! :P

I waited for the Penryn update which is out now, but since Intel already announced that Montevina MBPs are due for June I most likely will wait some longer and concentrate on the other hardware first (converters, mics and stuff) which connect to my desktop, too.

Montevina promises upto 40% size reduction for mainboard hardware, plus less energy-consumption. So a MBP based on that could be lighter, smaller, less power-consuming or come with a bigger and meaner GPU for faster gaming performance! :twisted:

andydes
Posts: 2917
Joined: Fri Feb 18, 2005 12:53 pm
Location: Bremen

Post by andydes » Mon Mar 10, 2008 3:45 pm

Timur wrote:Anymore questions?
Yes. Do you actually enjoy doing all this performance testing stuff?

Great info, though. Thanks. Need to give my computer a complete clean out and reconfigure. This will come in very handy.

Post Reply