How to reach lowest ULLI

An area for people to discuss Scope related problems, issues, etc.

Moderators: valis, garyb

Post Reply
micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

How to reach lowest ULLI

Post by micmac34 » Tue Oct 02, 2018 6:52 am

I found this post on the forum : https://forums.scopeusers.com/viewtopic ... LI+latency

At the end, someone says that if you have mixed gen1 and gen2 PCI boards, you can select the more recent as a primary and will get
the lowest ULLI from this more recent board.

How would one select a board as primary in scope 7 software , please ?

User avatar
garyb
Posts: 21663
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: How to reach lowest ULLI

Post by garyb » Tue Oct 02, 2018 7:22 am

not necessary....

if you have a gen2 card, you should be able to use the lowest latency.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Tue Oct 02, 2018 8:11 am

Ok thanks for the answer, good to know.

But then, if I may ask, what are the other constraints in a system that prevent from lowering the latency without crackles ?

I am thinking of changing my system from a 3 PCI 775 based motherboard to a H310 chipset + core i5 + DDR4 (with 3 PCIs too),
in the hope of being able to lower the ULLI.

Right now I can reach 6ms in/out latency, at 48khz, so that's a total of a bit more thant 12ms in the DAW.

Not bad, but a little bit lower would be perfect.

Do you think changing my system to this new H310 3PCI based PC would make any difference ?

I have an old Luna 3DSP, another Luna-like with 3DSP, and a Power Pulsar with 15 DSPs all linked with STDM cable.

I did all of the recommanded tweaks (BIOS CPU options, disabling USB devices so that every board has its own unshared IRQ, ...)

User avatar
garyb
Posts: 21663
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: How to reach lowest ULLI

Post by garyb » Tue Oct 02, 2018 5:10 pm

lowering thge latency without crackles is almost 100% a matter of the computer environment.
if the CPU is not maxxed and EIST and turbo and hyperthreading are disabled, you should get lowest latencies without crackles. well, i usually use 4ms @ 44.1 myself.

about CPU loads, most software meters are only good for a general idea of the load. it's the momentary overload that will create dropouts(crackles), not the average load that CPU meters in software shows.

shared irqs are ok, as long as it isn't sharing with USB or Firewire, generally. there's no need to kill all USB controllers.

how about using the CPU more effectively? if you are using Rompler VSTis, the main CPU hogs, why not freeze or record the parts that are not being immediately worked on? that will save a TON of CPU, if you unload the plugin. also, don't mix while tracking. wait until you are happy with all the parts to mix. then you can freeze or record the instruments and have a lot more horsepower for mixing. you will end up with better mixes that way too, since you won't be painting yourself into a corner and using unnecessary processing because of that.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Tue Oct 02, 2018 11:12 pm

Thanks for your reply. In fact I don't want to freeze or record parts because I am mainly playing live and tweaking parameters all the time, I want to be able to do that on any track. But I will try to make a test track with no VSTis at all, just to see if the crackles go away...

As for the cpu load, even with a few VSTis, I don't go over 44% in ableton live. I'm doing ok with 6ms latency 48khz, but with a few almost unnoticeable crackles here and there (the spikes you are talking about I guess), and it happens even when I'm not touching any VSTis parameters live, so it may come from something else in running in the background (I disabled antiviruses while playing, but perhapsI should search for other processes).

I had to disable 2 USB controllers that where both sharing IRQs with two of the boards. But I still have enough left hopefuly.

The problem is that I can not go lower in ULLI, if I set 4ms at 44Khz, I don't have "a few" crackles, but it's crackling like hell all the time, and the CPU is just at 44% in ableton live... it's a xeon X5460 @3.12GHz on a gigabyte ga-ep35-ds3p 5GB ram (but it's not full I checked, more like 75%)

So I'll try a few more things maybe (seeing if some background processes are eating CPU), but for the constant crackling at 4ms, I don't think I can do anything else.

That's why I'll try to upgrade my system, I was thinking of an ASUS TUF H310-PLUS GAMING + core i5 8600K, or... a cheaper ASUS H81-PLUS+ 1150 processor.

Perhaps I will have better luck then, what do you think ?
Last edited by micmac34 on Wed Oct 03, 2018 9:59 am, edited 3 times in total.

User avatar
valis
Posts: 4666
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: How to reach lowest ULLI

Post by valis » Wed Oct 03, 2018 12:56 am

I can do 4ms on a dual xeon rig from 2001 (supermicro p4dc6+), though obviously I'll get considerably less cpu performance than that core2 era machine, let alone a modern i5 or i7. The crackles are coming from something else stealing bus bandwidth and the ASIO driver not being filled in time. This is especially noticeable given that you're at 44% or below, though it's worth noting that you should look at your per thread performance as well.

It's entirely possible to use newer plugins on a system of that era and peg a single thread (which will swap around in task manager btw, rather than 'staying on one core') and setup a plugin chain that exceeds 100% of the allowed time for that thread to finish its process. So it helps to look at how to properly distribute a plugin chain's processing in live (hint, you route on channel to the next channel and move some plugins over there).

It's also necessary to check things like DPC latency to insure that other drivers are releasing the system's bus in time. Since that's a Core2 era machine, this is still extremely relevant, as is disabling sleep states on your cpu (EIST/core parking) not just in the OS but also in the BIOS. On a more modern i5/i7 rig this has changed as everything is built directly into the cpu (and the 'PCU' or power control unit controls these things now under the EFI rather than the legacy BIOS that your system is still booting up under). This runs counter to the 'green revolution' but the idea is that you're insuring that your system is ALWAYS available to handle a processing load rather than waiting for resources INSIDE the cpu to 'come alive' as needed.

Lastly, it's also helpful to insure that you know what the extra peripherals in your system are doing. Again, this is more relevant on a core2 era machine than it is on a modern machine. Extra USB controllers, SATA controllers and the like need to be investigated, or disabled if unused.

This stuff all takes a bit of time but the end result of a smooth running system is MORE than worth it. I typically do all of this DURING the build process and after getting the OS & drivers installed, and I tend to do it in stages so that things are easy to identify. If you just make a bunch of changes at once willy nilly you'll never identify what specific change or component made the difference.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Wed Oct 03, 2018 6:17 am

Thanks for your reply Valis.
though it's worth noting that you should look at your per thread performance as well.
-> How would I do that ?
It's entirely possible to use newer plugins on a system of that era and peg a single thread (which will swap around in task manager btw, rather than 'staying on one core') and setup a plugin chain that exceeds 100% of the allowed time for that thread to finish its process. So it helps to look at how to properly distribute a plugin chain's processing in live (hint, you route on channel to the next channel and move some plugins over there).
-> Sorry I don't really get what you mean... what do you call a "channel" in ableton live ? the spot where you drag a VSTi or midi
instrument ? I guess that's it, but then I don't understand how to "distribute a plugin chain". Normally I would just put FX/plugins
where I need them, I don't see how else I can arrange things.
It's also necessary to check things like DPC latency to insure that other drivers are releasing the system's bus in time. Since that's a Core2 era machine, this is still extremely relevant, as is disabling sleep states on your cpu (EIST/core parking) not just in the OS but also in the BIOS.
-> How do I check DPC latency please ? Also, I have disabled all CPU stuff in the BIOS already (sleep state, stepping, and so on)
Lastly, it's also helpful to insure that you know what the extra peripherals in your system are doing. Again, this is more relevant on a core2 era machine than it is on a modern machine. Extra USB controllers, SATA controllers and the like need to be investigated, or disabled if unused.
-> I don't have extra USB controllers, only the ones on the mobo, and I have disabled the ones sharing IRQs with the boards. the others I need for mini launchpads and stuff like that.

I have also followed guides from this forum to disable any annoying W10 stuff installed by default with the system.
Last edited by micmac34 on Wed Oct 03, 2018 10:00 am, edited 1 time in total.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Wed Oct 03, 2018 9:54 am

Ok after reading Valis again, I think I understand the routing thing in ableton live.

One channel with one power hungry VSTi + all effects on the same channel means one overloaded thread.
So I could split to two channel by routing one to the other and balance effects.

Could be a solution while I'm waiting for a better mobo + cpu to arrive, but it's not very practical to use :/
I have a lot of different tracks, and multiplying them even could lead to a visual mess.
But well, worth a try I guess.

EDIT: perhaps if I group the splitted channels, I still have the thread spreading, and still have only one grouped channel to display ?

One last thing, I have quite a lot of ASIO inputs (20-something mono), to receive incoming audio from scope, and also from external gear (synths) with my 2496 IO Box, but Scope should be able to handle that, right ?

User avatar
garyb
Posts: 21663
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: How to reach lowest ULLI

Post by garyb » Wed Oct 03, 2018 11:00 am

don't use a bunch of FX before you freeze or record the vsti.

44% average load in Ableton = lots of moments of 100% cpu = lots of dropouts.

yes, a more powerful system will help a lot, but if your habits are not sensible, then you will soon eat up all the new available power. the way a cpu works, it can only do ONE process at a time(theoretically 4 for a quadcore). that is where clockspeed comes into play. the cpu does a little bit of each job is has(keeping midi and audio aligned, drawing pictures, transferring data streams, etc), then it gets interrupted and starts on the next process. hopefully, it makes a complete cycle of processes before it is late on the interrupted processes. the less latency, the less time to complete audio streaming before there is missing data, which sounds like a click or pop or crackle. the more you make the cpu do, the less time it has to do everything it needs to do. don't load up fx or try to do any kind of serious mixing until the instruments and voices are recorded. playing back recordings takes a LOT less resources than calculating a synth to play a vsti.

Scope is realtime. it can handle whatever will load in the routing window. if it can't, you won't be able to load it. the COMPUTER, however is NOT realtime. it will pretend to be able to handle what you load, until it crackles. Scope can't wait for the cpu to get it all together.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Wed Oct 03, 2018 11:09 am

Ok garyb, nice explanation thanks.

However, as I told you, I am not composing songs but playing live music, so freezing or recording is not an option.
Maybe later on if I compose a whole song, but right now I am just playing my VSTis and real synths LIVE so I need
to be able to tweak all the parameters/buttons in real time (I have a Doepfer Drehbank to control VSTis and Scope Synths).

I'll try Valis's technique to balance channels accross threads, and maybe try to reduce CPU load where I can, until I receive my new computer.

User avatar
garyb
Posts: 21663
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: How to reach lowest ULLI

Post by garyb » Wed Oct 03, 2018 11:55 am

missed that...

well, how about using more fx in Scope rather than using all fx in Live? you might be able to save some cpu cycles that way. also, if you are using verbs and delays, you might be able to bus them instead of using them on each track...

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Wed Oct 03, 2018 12:11 pm

I'll see what fx I can relocate in Scope instead of Live maybe, yes.
Reverb and delay already on buses (send/return), but I'll try to use the Scope ones instead of Live's ones.
All this will increase the required number of ASIO IN/OUTs though, but I'll see how it goes.

The main hogs may well be the VSTis though. Also a large number of channels inside Live.

As i said, I will try to create a track with no VSTis and effects, just my external gear routed through Scope and Live to see
if the crackles persist. This way I'll know if the problem does come from VSTis and effects in Live consuming CPU power, or from somewhere else.

I just don't have the time to try yet, I have no time during the week to do that, but I'll try this week-end :)

Thanks for your help.

User avatar
valis
Posts: 4666
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: How to reach lowest ULLI

Post by valis » Wed Oct 03, 2018 3:10 pm

At least you’re on track to investigation now! Has to be done regardless of platform as this is how we establish workflow that we can trust.

micmac34
Posts: 34
Joined: Wed Nov 09, 2016 3:11 am

Re: How to reach lowest ULLI

Post by micmac34 » Thu Oct 04, 2018 11:27 pm

Dudes, you were SO right about all this... (of course, you're the experts).

So I tried to freeze all the VSTis, but I couldn't since I had sidechain compressors on many of them with input from another channel.
Turned out that it was from the same input (beat), so I just created another channel with a single sidechain compressor and routed all those tracks to it.

Then I could freeze all the VSTis, and miracle, I could lower the ULLI to 4ms @44Khz with almost no crackles. Still a few, but I could never do that before, and now I have also no crackles at all at 6ms ULLI 48Khz...

So that was indeed a cpu issue after all. I think I will be fine with my new more powerful mobo+cpu coming soon.

Thanks again for your wise advice !

User avatar
garyb
Posts: 21663
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: How to reach lowest ULLI

Post by garyb » Fri Oct 05, 2018 8:54 am

:)

User avatar
valis
Posts: 4666
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: How to reach lowest ULLI

Post by valis » Fri Oct 05, 2018 10:21 pm

And kudos for learning to expand your workflow to suit the technical hurdles you face as well as the creative ideals you're aspiring to.

Post Reply