CPU usage increasing with playing time on Mac

I’ve got a strange problem with CPU usage and Roon. It seems to start out at about 8-10% but then increases over time. For example I’ve just played the Andrew Davis Sea Pictures/Dream of Gerontius which is around two hours long. No resampling is needed as it’s a 96kHz album which matches my Apogee Duet. CPU quickly went to 30% then increased by jumps to over 130% (i.e. about 35% per core). At the end of the album CPU dropped back to 33% when playback stopped. In comparison, A+ and JRiver Media Centre 20 both stay below 4% CPU usage throughout.

I’m running a MacBook Pro (13-inch, Mid 2012), with a 2.5 GHz Intel Core i5 processor and 8 GB 1600 MHz DDR3. Another thing I’ve noticed is that Roon is showing as a 32-bit app - is that correct?

I’m a bit worried that 5 or 6 hours of Götterdämmerung might lead to complete core meltdown, so can you help please?

Also seen similar behaviour on a Win 7 machine.

I forgot to say that my music is stored on a Western Digital external hard drive connected via USB 3 to the Macbook.

@Hectorson Do you know if there was any resolution to this?

I tried disconnecting my Apogee Duet and using the built-in output, but this makes CPU usage worse if anything. Frustrating as I’m having to go back to JRiver for playback if I need to use my Mac for anything else while I’m listening.

Im curious as to what is going on. We work pretty hard to be nice to your CPU, but 3 big things impact it:

  1. audio analysis. you can turn if off: settings -> setup -> audio analysis speed -> off), it may help a bit. “normal” should only use 5-10% of your CPU. “fast” uses a ton more.

  2. downsampling. Our downsampler, made by Meridian, is on the cutting edge of DSP technology, and arguably one of the best in the business. It requires a bit more horse power than other solutions out there, but the sound quality is awesome. You can see if it is being activated in the signal path popup… it only should be there if you are requiring a downsampling.

  3. importing. If you have a spinning circle in the upper right of your Roon window, next to bookmarks, you can click on it and see what’s going on. The import procedure is usually limited by the I/O capabilities of your hard drive, but if you have a fast SSD that can keep up, we will use more CPU. Once importing has slowed, you shouldn’t be using a lot of CPU.

Can you investigate these 3 items and see if any of this applies?

Hi Danny,

Importing had finished, but turning off audio analysis immediately dropped idle CPU usage to around 1% and playback without downsampling to around 5 - 6%, much the same as A+ and JRiver. Downsampling increases this to 20-30% which is perfectly acceptable given the extra work being done. (I’ll soon be getting a new DAC anyway so won’t need to use downsampling).

Am I right in thinking that audio analysis is only used for normalising and crossfading? I don’t really need to use either so this is fine if so.

I’ll check to see how things go on extended playback, but everything is looking good so far.

Many thanks for your help,

Chris

Normalization and crossfading analysis, but also it makes those pretty waveforms :smile:

It only happens once, I usually put it on FAST and leave it on overnight (or multiple overnights if your collection is HUGE).

I will keep an eye on things and report, this hasn’t been a regular issue, although nothing else visibly running…

I’m also not bothered about normalization, crossfading or the waveform so I switched analysis off.

What I saw previously could have been down to down sampling as I do have the option to stream to an ATV.

I do like the pretty waveforms, so will switch it to FAST and leave overnight. Does Roon remember where it’s got too or does it restart after closing Roon. I’ve got about 20,000 - is that fairly modest in size?

At fast, it might be able to do 20k in a night, depending on your machine. Try it out :smile:

It does remember, and wont redo stuff it’s already done.

After you are done, be sure to put it back to Normal, so future imported tracks get picked up.

Thanks Danny, I’ll leave it running tonight.

Leaving audio analysis running overnight fixed the problem. Roon is now idling at 1% and playing back with downsampling at 2.3 - 3% CPU. For the same track, and without resampling, the figures for JRiver and A+ are almost identical.

I didn’t install the latest build until after the audio analysis had completed, so don’t know if this would have helped, but will see what happens after future imports.

One impressive thing is that even at the highest CPU load, I didn’t get a single audio glitch.

2 Likes

May I suggest you change the labels in that select list? I came here after a search because I couldn’t figure out whether Fast meant “quick, but cuts corners so SQ suffers” or “SQ is great but it uses more CPU”. Similarly, does one have to wait longer when it’s set to Normal or is it SQ that suffers?

Hi,
Audio analysis does not affect audio quality, what it is doing is scanning the music files to form a profile for each track that can be used during volume levelling and cross fading and gapless play back.

This speed option tell Roon how much of the CPU it can use to perform this task. Fast means complete the analysis faster, but to do so pushes the CPU harder.

1 Like

Thanks, I understood after reading this thread. I probably wasn’t being clear, in my reply but what I meant is that it’s not obvious from the UI 1) that audio analysis is something that happens before a track is played, not as it is played; and 2) what the implications of my choice are and what trade off I’m making.

Fast seems like a good thing, but Normal doesn’t seem all that bad either. It’s when I know that I’m trading analysis speed for CPU cycles that I can make an informed decision.

I’ve put in a work ticket to get the blurb of text explaining this better. Thanks for the suggestion. Sometimes we miss this stuff since we’ve lived with it for so long.