Jump to content

freeze tracks logic pro not using all cores.. why?


jimdilian

Recommended Posts

In general, Logic always processes a single channel on one core, for performance reasons. As David says, you can't efficiently parallelise this over multiple cores for realtime playback as plugin rendering is a serial process - each subsequent plugin relies on the output of the previous plugin etc.

 

It's *theoretically* possible to implement the freeze process as a more parallelised operation - for example, perhaps processing bars 1-4 on one core, bars 2-8 on another, etc but this isn't trivial either (eg, think about reverb/decay trails), and in any case, Logic doesn't do this.

Link to comment
Share on other sites

Without getting into a complicated discussion about multi threaded programming that most here would not understand anyway; the simple explanation is that multi threaded programming imposes certain overhead so the benefit has to exceed the cost of that overhead. Sharing data and code between threads can become much more complex and if not very careful can lead to performance loss or locking situations.

 

Also consider that once you have a certain number of channels playing, then all the cores will be getting used! This is only being asked now in reference to why freezing a single channel can’t use all the cores. But why complicate the code for that one use case? It still freezes faster then real-time and with zero drop outs, it more fully Utilizes that core then would be the case during normal playback. While you could theoretically figure out some tricky complicated multi threaded code to freeze a track a little bit faster, it would not really be worth the added complexity, and the overhead involved with multi threaded programming in general might even negate much of the gains.

 

I would not obsess over the cpu meters. Does your project play without dropouts? That’s good enough. Freezing a track takes seconds and it will by design not have any drop outs. Good enough

Link to comment
Share on other sites

I just want to say, you inspired me to try a test on 10.6.2...and like you...found that with 20 tracks selected, either freezing or attempting to bounce tracks...it was only using one core for me...and took actually at least double the amount of time that a real time bounce would take.. In other words..I consider this broken also.
Link to comment
Share on other sites

ok thanks for the answer.. well if I freeze 20 tracks.. takes forever.. if I bounce the song takes 3 min.. so that is why I ask..

Freezing creates that many audio files your trying to freeze. In you example, that's 20 audio files

In my posted example, it created 3 audio files.

Freezing.thumb.png.5d0b473dd89aede965402962c1605f35.png

 

Bouncing a project creates only 1 audio file.

Bounce.thumb.png.db696d347cea5fe2e0653b5f24052d1b.png

Depending on the number of tracks and the lengths of those tracks will determine the amount of time it takes to create.

 

I wish Logic Pro could use more cores for freezing a song

Never going to happen because the bottleneck is the hard drive There is no such thing as a parallel hard drive, they're serial, meaning they can only write a single block of data or read a single block of data at a time.

Look at your above observation. If the hard drive was a parallel device, it should have wrote several blocks of data going to different files which would result in the same time as a single file being written out, but it doesn't You said it takes forever when freezing, because the hard drive is a serial device.

Link to comment
Share on other sites

I tried to select 20 tracks and "bounce tracks in place", which results in 20 audio tracks. It only used one core and took 2-3x the amount of time as it would to play back real time. 48 seconds of midi on 20 tracks....bounce all 20 at once...takes 2 minutes. I basically don't freeze tracks so this has never come up for me before, but this is an issue that needs to be addressed. waiting 10 minutes for a set of tracks from a song to be frozen is clearly not acceptable and totally avoidable!

 

1212978428_ScreenShot2021-05-14at1_58_08PM.jpg.aece8816278f4117021629873d221bbb.jpg

 

I also just downgraded to LogicPro 10.6.1 due to all the other PDC problems being reported......this problem mentioned happens in 10.6.1 also, its not a "new" bug.. I haven't come across it before because I just don't usually freeze any tracks..but I can easily see this being a frustration and there is not reason that LogicPro should be processing 20 tracks on one core...and certainly not when it takes 2-3x of real time!

 

For the op, one work around in the the meantime is to not do freezing or tracks in place bouncing. Do an actual real time bounce of each track, at least it won't be 2-3x the amount of time...just 1x, even though it ought be more like about 0.1x.

Edited by Dewdman42
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...