# Can't get buffer below 512 consistently



## JohnG (Jan 23, 2019)

Do you folks disable hyperthreading or leave it on? Anyone experiment with on / off, at various buffer settings?

I'm trying to drop my buffers as low as I can.

Thanks!

John


----------



## EvilDragon (Jan 23, 2019)

It's there to be used as far as I'm concerned. I'm never gonna disable it.


----------



## Nathanael Iversen (Jan 23, 2019)

I leave it on. I paid for it. Cubase can use it. So, all the cores, all the time here.


----------



## tack (Jan 23, 2019)

Latency improvements are marginal at best, and statistical noise in the common case. Meanwhile the processing performance benefits are nontrivial. Disabling HT should be one of the last things to try when you're trying to diagnose an issue.


----------



## JohnG (Jan 23, 2019)

thanks everyone

Still stuck with a buffer of 512 on my strings computer and wondered if that would make a meaningful difference. So far, no.


----------



## AllanH (Jan 23, 2019)

I leave hyper-threading on.

The only reason I know for turning off hyper-threading, would be any concerns regarding the security issues found with hyper-threading. For non-public systems like a DAW, I don't think the performance loss is worth it.

A reference: https://www.tomshardware.com/news/disable-intel-hyper-threading-security,37690.html

ADDED: For public servers, the security issue is real and many mitigations have already been deployed.


----------



## JamieLang (Jan 24, 2019)

Don't turn it off.

Figure out your bottleneck on "the strings computer". just a reminder that the overs/crackles on that machine below 512 mean SOMETHING can't complete in a 256 buffer's time. It's as likely the drive as something esoteric like hyperthreading causing...latency issues? 

How are you actually hearing "the strings computer" audio output? Because I'm PICKY about latency/time domain stuff...and on a PCI system(meaning with no extra buffer), 512 on a single buffer is more than fine for things like strings. But, also--I see SOO many instances where people are not following the signal flow...or don't understand how say the latency of the sequencer computer can completely effect the perception of the slave...


----------



## rgames (Jan 24, 2019)

I've always had better performance with it on for DAW use. But even with it off I've never seen any practical difference. It moves my CPU meter to a different spot but still within the perfectly acceptable range that has no effect on my productivity.

I don't think it has much effect on latency. That's more of a processor speed effect these days.

I think people might have confused hyperthreading with multiple CPUs at some point. Multiple CPUs definitely can add latency and you can reduce latency by disabling one CPU in a multi-CPU setup. That reduces the core count as does disabling hyperthreading but hyperthreading changes logical core count within a *single* CPU. So it kind of looks like the same thing but is not.

Disabling hyperthreading, in my experience, does not reduce latency. Disabling second CPUs, in my experience, can reduce latency.

rgames


----------



## JohnG (Jan 24, 2019)

I don't think it's probably the drive; it's one of those Intel Optane PCIe SSD setups. And the audio goes straight to Pro Tools, not back through the DAW, so it's definitely the strings. i7-7700k CPU.

seems like it should work below 512 but if I get a busy arrangement going it crackles.


----------



## AllanH (Jan 27, 2019)

It's probably not relevant, but just in case: I have a limiter as the very last effect on the master bus "just in case". At some point I used Neutron2's limiter as it was supposed to be transparent.

Even though it was only on one summing track at the end, it very adversely affected realtime playback by adding about 20% to the audio processing load, as indicated by Cubase's Audio processing meter. It introduced pops and stutter during playback. I switched to Cubase's built-in Brickwall limiter and the issue went away.

So it could an effect, even just "one".


----------



## storyteller (Jan 27, 2019)

My money is on a plug-in used in your signal chain.


----------



## Matt Riley (Jan 27, 2019)

Are you using VEP? Have you tried changing the buffer settings there for each instance?


----------



## JamieLang (Jan 27, 2019)

You should trace your signal flow. The thing about multiple (digital) machines all hooked together--the experience of latency becomes cumulative. Like if you have the audio from your slave feeding back into an open aux on a software mixer, you're getting the midi through latency of the imac...then the total system latency of the slave THEN the total system latency of the audio of the imac. So, say the slave is set to 512...and your iMac is set to 1024 and then you have super latent plug ins like some UAD stuff or various lookahead types...you might be experiencing the equivalent of a 2048 buffer on a single machine.

You need to pick a central and HARDWARE mixer to have everything come into and feed your monitors to avoid this. Talking ideal world, you have TDM system in that cheesegrater that allows an open aux to be in the hardware TDM mixer...but, next best (and certainly least expensive at 0$  in balancing latency with function would be to use whatever interface you have on the iMac's hardware mixer as the central point, as it's likely already feeding your monitors. That would only need slight rerouting in the Mixer to print audio back into the ProTools mixer when it comes time to render.


----------



## JohnG (Feb 1, 2019)

@JamieLang -- I use RME PCI cards as hardware for audio. The PT computer through which I monitor has a buffer of 128 -- recently replaced an older setup and the new one allows much lower buffers. There are zero plugins active when I'm composing on either the PT and the Strings PC slave computers. I know about lookahead and all that; it's off.



Matt Riley said:


> Are you using VEP? Have you tried changing the buffer settings there for each instance?



It's VEP standalone, and just one instance. Plugin latency compensation for FX is off, just in case, even though I don't have any FX on that computer.



AllanH said:


> So it could an effect, even just "one".



You are right that "just one" can do it; everything is off on both the PC and the Pro Tools iMac.

thanks for the suggestions.


----------



## JohnG (Feb 1, 2019)

just dropped the PT buffer to 64...still works.


----------



## Symfoniq (Feb 1, 2019)

One thing I've discovered through trial and error is that sudden changes in CPU clock speed can cause pops and crackles.

Moreover, even if you _think_ your CPU frequency is locked at 100% (i.e. things like SpeedStep and energy saving settings are disabled), your CPU might still be changing clock speeds without you realizing it.

Case in point: I was having pops and crackles with my Strezov choir libraries, even at what I considered a reasonable buffer, and even with the CPU speed locked at 100%. Eventually, I discovered that the libraries were making use of AVX instructions, and there was an AVX offset configured in the BIOS. This AVX offset was dropping CPU speeds whenever the Strezov libraries made use of AVX features. Once I disabled the AVX offset, the pops and crackles were gone.

This was a weird edge case, and your problem is probably different. But it might be worth a look.


----------



## JohnG (Feb 1, 2019)

Symfoniq said:


> AVX offset configured in the BIOS



That is indeed an obscure one. I don't think I've ever seen anyone mention it before.

Anyone know if by any chance Spitfire use AVX in their libraries?

*Danger-Danger?*

I looked it up and some people caution against disabling it if you're into extreme overclocking, FWIW.

One example from 2017 on Tom's Hardware:

"Apps and stress tests which use AVX code will significantly increase Core temperatures because higher Core voltages are required to maintain stability.

If you don't use AVX, then don't enable AVX. If AVX offset doesn't function properly, it makes overclocking more difficult. Using AVX apps increases Core temperatures and decreases stability. This is why AVX offset was implemented in BIOS with 6th Generation.

4th Generation has a serious problem with AVX because there is no offset in BIOS. The only alternative is to manually downclock by about 200 to 400MHz to maintain stability to keep Core temperatures from going through the roof.

Once again, if you don't use AVX, then don't enable AVX."

http://www.tomshardware.com/answers/id-3552096/issue-avx-offset-coffe-lake-gaming.html


----------



## Symfoniq (Feb 1, 2019)

JohnG said:


> That is indeed an obscure one. I don't think I've ever seen anyone mention it before.
> 
> Anyone know if by any chance Spitfire use AVX in their libraries?
> 
> ...



Yep. Most audio apps don't seem to use AVX. The choir library I was using seems to be an exception to the rule. I don't overclock my systems, so disabling AVX offset (but keeping AVX enabled) hasn't been a problem for me. YMMV. Definitely keep an eye on system temperatures if you disable AVX offset but keep AVX enabled (particularly if AVX512 is being used). But it's been a non-issue for me.


----------



## JamieLang (Feb 1, 2019)

I guess it's been a long time since I've done anything with single rate digital. 512+128 means 768 is your effective buffering, plus some amount (probably handful) of samples for the couple hardware mixers in there....Which would be like me putting my machine on something nearer to 2048 than 1024...so...yeah, I guess I see the problem-I couldn't work with that. That means your computing needs have exceeded your computer power.

I am going to point out, in case I didn't earlier, that my (dedicated to samples) Samsung 970evo was the bottleneck in the Acoustic Samples B5. One of the fastest consumer drives made YEARS after the instrument was made...I had to turn disk streaming off for it. Now it plays glitch free running my palms up and down the organ. So, using big scripted round robin'd orchestral stuff, doesn't mean the super fast Optane isn't the bottleneck. You could try increasing OR decreasing the disk streaming buffers in Kontakt. I have mine set about as small as they'll go...meanwhile...see above--the B5 even with the largest buffer wasn't enough to feed 500+ voices in a few milliseconds it takes to palm slide up the board.


----------



## chimuelo (Feb 1, 2019)

JohnG said:


> I don't think it's probably the drive; it's one of those Intel Optane PCIe SSD setups. And the audio goes straight to Pro Tools, not back through the DAW, so it's definitely the strings. i7-7700k CPU.
> 
> seems like it should work below 512 but if I get a busy arrangement going it crackles.



I disable HT just because I’ve got an audio interface that gets PCI Overflow messages which they claim is cause by thread extenders (their words).
New drivers for Windows 10 are awesome but that’s their caveat.


----------



## JamieLang (Feb 1, 2019)

Whose words?


----------



## JohnG (Feb 2, 2019)

chimuelo said:


> I disable HT just because I’ve got an audio interface that gets PCI Overflow messages which they claim is cause by thread extenders (their words).
> New drivers for Windows 10 are awesome but that’s their caveat.



HT seems to be a bit trial and error, no doubt.

I think I'm going to replace my i7-7700k with an i9; will need a new MOBO too of course. Tired of fiddling with it.


----------



## JamieLang (Feb 4, 2019)

You know...I went to do my first string thing on the new box...had to move it to 512 to get around some sporadic overs. I don't use Kontakt unless I'm doing strings...because I hate that thing SO much...if I had the money to buy all the VSL extended stuff, I'd do it to just avoid Kontakt. 

I can have a whole virtual band with the most demanding VIs...Superior3+B5 organ glissing up and down, a couple instances of Keyscape and Ivory all configured to unlimited or max polyphony at 96khz wailing away at 256 (which is a 64 input) buffer in Cubase...but, a cfew instances of Kontakt with Spitfire and Session Strings Pro, and it has to go to 512. And mind you--that's NOT 'on top of' the band VIs. I might need to bump my konkakt buffers back up some. Are your set to default sizes with the Optane storage?


----------



## JohnG (Feb 4, 2019)

JamieLang said:


> Are your set to default sizes with the Optane storage?



yes -- 60.

If putting the i9 on it doesn't ameliorate the problem then -- it's a problem!


----------



## JamieLang (Feb 4, 2019)

Had mine pulled back to 18. Didn't make a difference--performed the same on 60, just takes longer to load. Set it to override at 120...glitches in the same places at 256. I'll put it back when I get this sussed out. No reason to use 3x the RAM and longer load times for no performance gain says I....

I wonder if this is a PCI bridge thing. I mean I ran these same string libraries on the old Core2Quad--antique last year...off magnetics, as a slave (so inside Cantible rather than Cubase)...sequencing in Logic. Never noticed a problem beside the "go make coffee while it loads" problem. I guess I can load them into Cantible and break the MacBook back out...and see...maybe it's Cubase. But, you're running in what VEP?


----------



## JamieLang (Feb 9, 2019)

You know what occurs to me? 512 is a 128 input in Cubase. So, for the record, technically, i was running the whole “band” set at 64 sample input and had to move it to 128. I confirmed that in Cantible, they play fine at 128. At least as many voices as I coild trigger on a keyboard. Funny how the number annoyed me....despite not actually being latent...it just annoued me. Ha. 

I read that i9 let you drop it where you wanted. Good to hear.


----------

