Processing speed differences playing the same audio on the same machine

I was just wondering if there is a gain in processing speed between a nuc i7 mounted ssd library storage versus NAS, Gb connected, music library storage.

I notices quiet a difference when connecting my nuc via USB to my dac (using sotm tx-usbultra in between).

Wondering if switching from NAS to local ssd would also give me higher processing speed.

Thanks.

Huge difference for importing and music analysis

Thanks for your reply. I was looking if it would speed up the processing speed. Before I had a processing speed around x2.5. When switching to usb it changed to x9 with the same settings and dsp config. I read somewhere that this would be due to skipping the network processing. Was hoping that switching from NAS to ssd would also give me a speedup.

Importing & Analysis speed is not that important to me…

I don’t understand how anything could be faster because you connected a dac to your NUC via USB.
I’m confused.

X2.5 : library on nas and dac connected over network.
X9: library on nas and dac directly with USB to roon nuc. So no network connection from roon nuc to dac. Still network from nas to roon nuc.
X… : library on ssd in nuc and dac directly with USB to roon nuc. This eliminates all network transfer.

Hope it makes sense…

1 Like

Well, my first comment is to ask what you are trying to do and why? The processing speed has no relevance to SQ, so curious why you are chasing the numbers?

In your examples, 2.5 is equivalent to 40% of one core in use, and 9 is equivalent to 11% of one core. Both, have plenty of overhead left. So, I am not sure why you would care that much. As long as Roon has enough processing power to do what you want it to do without running out why care what the processing speed is (Anything dropping it below 1.3x would be when I would start to be concerned).

Switching everything to local storage will eliminate some overhead obviously, enough to make any processing difference, I’m not sure. And, it doesn’t matter whether the local storage is SSD, or spinning HDD. By the way, having your music local has always been best practices for running Roon, it just eliminates another potential point of network failure in the music chain.

This feels wrong… like your test is not apples to oranges. You shouldn’t get a bump at all when switching from a network DAC to a USB DAC.

Network transfer should not affect processing speed. I know you said it did, but before I investigate anything further, I’d want to know exactly what was played and in what setup and see signal path from both plays.

Thanks all for your replies.

I will try an make some screenshots when having the different setups running. But now my wife wants to watch TV, so I am unable :slight_smile:

I’ll post them tomorrow.

Gb ethernet gives you ~120MB/s maximum transfer speed between NUC and NAS (in reality it’s slower due to network latency). NUC mounted SSD storage gives you ~600 MB/s (depending on your SSD) maximum transfer speed with much lower latency, so it’s a no-brainer.

Importing and analysis, as @wizardofoz mentioned will be much faster with local SSD storage.

I know NAS aren’t favoured by Roon for either running the core or music library storage and generally with good reason.

I run my Roon core and have my library on a NAS and I would never downgrade to a NUC! :wink:

So same song, same settings… Same convolution filter used in both setups, both upsampled to DSD128, same speaker distance correction… Both tracks are being played from the beginning and screenshots taken after approx. 1 min, to eliminate any kind of processing speed settling.

  • (8.9x) : NUC10i7 - USB Cable - SoTM tx-USBultra - USB Cable - Michi X3
  • (4.4x) : Network - SoTM-SMS200NEO - USB Cable - SoTM tx-USBultra - USB Cable - Michi X3

Both setups play the exact same song located on my NAS.
@danny As you can see there is indeed a difference in processing speed.


Just did a test with a 2.5 SSD OCZ Vertex 4 that I had lying around.
Copied the same album onto this drive, placed the SSD in my NUC, imported and played the same track. (Disabled NAS storage so the Internal Storage is the only active one).

Processing speed reaching 8.7x. Actually a bit slower than when fetching the file from NAS.

Very interesting indeed. I might try some similar things with a Ropieee connection and direct connection from my Nucleus to an OKTO DAC8 Stereo that has 2 USB inputs - one for the Ropieee RPi internally and one for external computer connection.

@danny same behavior when using qobuz. This rules out any nas related differences.

DSC_0662

Sampling frequency and depth make no difference.

Only when switching to dsd128 input there is no difference in processing speed. DSD64 input exhibits same behavior as others.


The confusion is something I’ve spoken about earlier, and I’ll reiterate it here. This is one of the reasons we tell everyone to not use this processing speed as some form of efficiency metric.

In the case of the network output, the audio enters the network stack straight out of Roon, which is a system optimized for gigabit networks. There is very little that happens in the operating system because of fast paths.

In the case of a USB output, the audio enters the audio system of the operating system. Depending on your system (Core Audio, ALSA, WASAPI, ASIO, etc…), the various drivers handle this audio data and send the data to your devices. There may be mixers and other items in that pipeline, and depending on how you speak to/configure the audio system, there could be some non-trivial CPU usage. Also, audio drivers tend to be less CPU-optimized because the bandwidth being sent through them is so low.

With a reasonable audio stack (and no funny business like mixers or DSP), and an ethernet port built into the motherboard (with no other funny business like VPNs), I would expect the USB audio and the network audio to be similar in terms of CPU usage on the Core machine. If there were any differences, I would bet the performance of the network to better, just ever so slightly.

So, how does this explain your screenshots?

First, let’s clarify what your screenshots are showing. The “processing speed” is clearly different, using the same hardware for the Core, playing the same content. The only difference is a network-connected audio device vs a USB-connected audio device. However, it is not telling you how much processing is being done or the load on the CPU. I know that’s what everyone likes to believe, but it’s just not true. It’s telling you a ratio of how much time is spent processing the audio in Roon, to the amount of CPU time Roon has been given by the operating system.

How are these 2 things different? Well, CPUs are not static in performance, energy consumption, and heat dissipation. Roon OS scales the CPU performance to run as cool and quiet as possible while maintaining Roon’s workload. Many other operating systems do too.

When the OS tells the CPU “hey, we aren’t very busy right now, you can run slower, which will make you stop sucking up so much power and dissipating lots of heat”, the amount of CPU time available to Roon will be lower (for obvious reasons). The amount of work that needs to be done to process that audio will remain stable, but the time to do it will also increase, again because the CPU is running slower.

The ratio of the processing time is like this: “(total amount of cpu time roon has) / (time spent processing audio)”.

As mentioned above, when the CPU is slowed, the total amount goes down and the time spent processing audio goes up, which would make the value of this ratio go down.

You are seeing lower processing speed because either because:

  1. the network-path is more efficient compared to the USB-path that it allows the CPU to go so much slower
  2. the USB-path is keeping the CPU running faster
  3. the network-path is consuming more CPU

I think the confusion comes because the 3rd item is the obvious one, but most likely it’s a combination of the first two.

You can easily rule out the 3rd item by running more zones. If your performance says 3.7x, when you run 4 streams, it should go below 1.0x. If it doesn’t, it must be the first 2 items in that list above.

So why have the processing speed at all? It’s a ballpark multiplier. It matters a lot when your multiplier is less than 2.0x, but it matters less and less as you go higher.

We actually just hide it at some high enough point because there is zero meaningful information that can be ascertained from looking at it.

2 Likes

Thanks for the in depth and detailed explanation.

Reason why I was interested is that when starting some tracks it takes some time for this speed to reach x1 and for the music to start playing. (especially with dsd tracks)
I noticed when the processing speed is higher, the time to start the music seems to be faster. Or is this just a feeling?

I also seem to like the sound better when native dsd processing is enabled…

1 Like