Jump to content

when to use 64 bit engine?


sadicus

Recommended Posts

4 hours ago, Noel Borthwick said:

Not only is it advantageous for mixing, it is actually more efficient for modern CPUs to process.

Ah, this information is gold. An issue that I've had with the 64-bit options (and others) is knowing whether they are harder on the audio engine. I understand the benefits well enough, but not all of the possible drawbacks.

By "modern processors," how modern are we talking about? Is the Core 2 Quad in my office system new enough to benefit? The i7 870 in my laptop? The i7 3770 in my main DAW? Is it a matter of more cores? The extended multimedia instruction sets?

Edited by Starship Krupa
Link to comment
Share on other sites

4 hours ago, Starship Krupa said:

Ah, this information is gold. An issue that I've had with the 64-bit options (and others) is knowing whether they are harder on the audio engine. I understand the benefits well enough, but not all of the possible drawbacks.

By "modern processors," how modern are we talking about? Is the Core 2 Quad in my office system new enough to benefit? The i7 870 in my laptop? The i7 3770 in my main DAW? Is it a matter of more cores? The extended multimedia instruction sets?

Modern as in circa 2005 lol. This is not new technology - we led with it a long time ago. I’m surprised this thread is even being discussed in 2021,
Using 64 bit however requires twice the buffer size so it has a higher memory hit and takes a bit more cpu to handle the extra data being streamed. Also even today there are a few plugins that don’t handle it properly so there are a few downsides.

An example of 64 bit gains is discussed in another white paper that we published with Intel several years ago.
http://www.noelborthwick.com/2011/07/14/utilizing-intel-avx-with-cakewalk-sonar-x1/

  • Thanks 1
Link to comment
Share on other sites

On 9/21/2021 at 12:03 AM, treesha said:

IIRC  I have had it happen a few times that on export I didn’t notice the 64 was being used and when I went to import that exported file into something else I use (don’t recall which program) I got a message basically the other program couldn’t import it. So I went back to the cakewalk export box and changed from 64 to 32 or 24 (?) and it worked fine in the next program.

are we talking about about the same thing here? I thought I was completely understanding until I read this post. The thread is about the 64bit precision engine toggle being checked, different from the audio driver bit depth export options box where you can choose 16,24, etc. The 64 bit precision engine box is a toggle on and off switch just to the right of the  Audio Driver bit depth  up/down arrow pull down menu.

Link to comment
Share on other sites

7 hours ago, Noel Borthwick said:

Using 64 bit however requires twice the buffer size so it has a higher memory hit and takes a bit more cpu to handle the extra data being streamed.

Is this being taken into account in the white paper (ie. there's a gain from using AVX, but a loss from extra memory management, but a net gain overall)?

Link to comment
Share on other sites

1 hour ago, Michael Fogarty said:

are we talking about about the same thing here? I thought I was completely understanding until I read this post. The thread is about the 64bit precision engine toggle being checked, different from the audio driver bit depth export options box where you can choose 16,24, etc. The 64 bit precision engine box is a toggle on and off switch just to the right of the  Audio Driver bit depth  up/down arrow pull down menu.

The 64 bit engine can be turned on in preferences or in exporr. The first is applied while playing the second while rendering. They both affect the engine by telling out to use 64 bit float when mixing and streaming.

Bit depth only affects the file capture at the end of the signal chain when exporting or bouncing.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Noel Borthwick said:

I thought think we ever claimed a net performance gain. It's about precision and noise.

From the Intel linked white paper at https://software.intel.com/content/www/us/en/develop/articles/utilizing-intel-avx-with-cakewalk-sonar-x1.html

"Workload- A was a project with several audio tracks and plug-ins typically used in high track count benchmarks. In this workload, CPU cycles were reduced by 1.23x or a net gain of 23% CPU bandwidth, when running with Intel® AVX enabled as compared to AVX disabled.

Workload- B was another benchmark project with several plug-ins used for high plug-in count benchmarks. In this workload we noted a reduction of CPU cycles by CPU cycles by 1.44x or a net gain of 44% CPU bandwidth, with AVX enabled.

Workload- C was a real world multi-track project from the SONAR* sample content disk. In this workload we observed a reduction of CPU cycles by 1.10x or a net gain of 10% CPU bandwidth, with AVX enabled."

Link to comment
Share on other sites

That is not a net performance gain in general. It Is talking about specific mix operations in the engine.

And the avx thing is talking about gains with avx processing rather than double precision vs single precision.

The only reason I quoted that paper was because modern processors have abilities to handle 64 bit operations more efficiently. Processing twice the amount of data for streaming is always going to have a cost.

Link to comment
Share on other sites

Performance is mentioned primarily to explain that using double precision doesn’t mean you will get half the CPU performance because there are secondary optimizations in modern processors.
The main benefit is the higher precision. Compare these two formats:

32 bit float
https://en.m.wikipedia.org/wiki/Single-precision_floating-point_format

Sign bit: 1 bit

Exponent width: 8 bits

Significand precision: 24 bits (23 explicitly stored)

And 64 bit:
https://en.m.wikipedia.org/wiki/Double-precision_floating-point_format

Sign bit: 1 bit

Exponent: 11 bits

Significand precision: 53 bits (52 explicitly stored)


In practical terms, the second has much more than 24 bit resolution so you could literally go through a huge number of gainstages, bounces or mixes and the noise floor would be inaudible. With modern CPU’s why not use the best resolution.

  • Like 3
Link to comment
Share on other sites

1 hour ago, Noel Borthwick said:

In practical terms, the second has much more than 24 bit resolution so you could literally go through a huge number of gain stages, bounces or mixes and the noise floor would be inaudible. With modern CPU’s why not use the best resolution.

yeah! then you get the best sound from your 8-bit crusher distortion analog-defect reproduction VSTs! 😛 

  • Haha 1
Link to comment
Share on other sites

3 minutes ago, Terry Kelley said:

How do you know when a plugin doesn't handle64 bit correctly? Crash? Noise? Bad results?

I had one (this was in the days of 32 bit SONAR) where enabling 64 bit engine made one plug-in somehow trigger the whole of playback to go slooooooow.  Other plugins may behave differently.

Link to comment
Share on other sites

On 9/26/2021 at 8:51 PM, Noel Borthwick said:

Essentially the 64 bit engine uses double precision floating point numbers from end to end assuming that plugins support it.
The main advantage of 64 bit computing is that its very tolerant of errors that build up over thousands or millions of computations and has a massive dynamic range. You can literally do multiple mixing gainstages that clip > 0dB or go to very low levels and then scale back up with no audible errors creeping in. In fact the original white paper had a test project that did something like that.
Not only is it advantageous for mixing, it is actually more efficient for modern CPUs to process. 

Is the 2x (plugin up-sampling) button related to this? I never really understood how and when to use it, but thought it also has to do with things like the 64 bit engine. As far as I got it right you need to manually enable it in each plugin? And some plugins have build-in internal up-sampling and others not? So when and how to use it? 

Link to comment
Share on other sites

I'm glad that this discussion is here, in 2021. Obviously there's a lot of confusion about these matters. Obviously there are people who don't understand it. I mostly understand the processing principles involved, but I'm a former IT engineer. Where I've had trouble is that the CbB documentation doesn't go into the possible cons of using the 64-bit engine and/or plug-in upsampling. Reduced available memory? Audio engine load increased? If there are any possible issues, it would be nice to know what to watch out for.

21 hours ago, Noel Borthwick said:

Using 64 bit however requires twice the buffer size so it has a higher memory hit and takes a bit more cpu to handle the extra data being streamed.

For me, a memory hit is not really an issue, as I don't seem to run into any trouble, even on my systems with 8 Gigs of RAM. In the scope of modern systems with loads of RAM installed, how much of this sort of memory hit is likely to be an issue? If it takes a Gig, I have that to spare.

I've run into one plug-in that doesn't like 64-bit processing, which is the ADHD Leveling Tool, an otherwise excellent plug-in, sort of an LA/2A with greater control. The combination of 2X upsampling broke it. The issue is that with 64-bit engaged, its output drops drastically. Works a treat otherwise.

I just did a quick playback test of a current project that's all synths, multiple FX. No dropouts in either 64-bit mode or regular, audio engine percent seems about the same. This is on my notebook with 8G RAM and an i7 860 processor.

Link to comment
Share on other sites

I think you are overanalyzing this. This is not something that requires a ton of documentation for something beyond what's already there - which is it provides higher resolution for mixes. The documentation is for users not computer scientists :)
For those who are curious for more detail there are the white papers referenced or the web.

  • Like 1
Link to comment
Share on other sites

22 hours ago, Noel Borthwick said:

Performance is mentioned primarily to explain that using double precision doesn’t mean you will get half the CPU performance because there are secondary optimizations in modern processors.
The main benefit is the higher precision. Compare these two formats:

32 bit float
https://en.m.wikipedia.org/wiki/Single-precision_floating-point_format

Sign bit: 1 bit

Exponent width: 8 bits

Significand precision: 24 bits (23 explicitly stored)

And 64 bit:
https://en.m.wikipedia.org/wiki/Double-precision_floating-point_format

Sign bit: 1 bit

Exponent: 11 bits

Significand precision: 53 bits (52 explicitly stored)


In practical terms, the second has much more than 24 bit resolution so you could literally go through a huge number of gainstages, bounces or mixes and the noise floor would be inaudible. With modern CPU’s why not use the best resolution.

I love it when you talk that way.

Link to comment
Share on other sites

9 hours ago, Starship Krupa said:

I'm glad that this discussion is here, in 2021. Obviously there's a lot of confusion about these matters. Obviously there are people who don't understand it. I mostly understand the processing principles involved, but I'm a former IT engineer. Where I've had trouble is that the CbB documentation doesn't go into the possible cons of using the 64-bit engine and/or plug-in upsampling. Reduced available memory? Audio engine load increased? If there are any possible issues, it would be nice to know what to watch out for.

For me, a memory hit is not really an issue, as I don't seem to run into any trouble, even on my systems with 8 Gigs of RAM. In the scope of modern systems with loads of RAM installed, how much of this sort of memory hit is likely to be an issue? If it takes a Gig, I have that to spare.

I've run into one plug-in that doesn't like 64-bit processing, which is the ADHD Leveling Tool, an otherwise excellent plug-in, sort of an LA/2A with greater control. The combination of 2X upsampling broke it. The issue is that with 64-bit engaged, its output drops drastically. Works a treat otherwise.

I just did a quick playback test of a current project that's all synths, multiple FX. No dropouts in either 64-bit mode or regular, audio engine percent seems about the same. This is on my notebook with 8G RAM and an i7 860 processor.

yea, the ADHD plug probably has a hard time paying attention.

  • Haha 2
Link to comment
Share on other sites

  • 1 year later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...