DSD512 - Is this even possible? [yes, just needs more cpu]

The majority of systems used to run Roon have 2 cores / 4 threads or less. NUCs are the typical archetype. We monitor these stats on an ongoing basis to drive these decisions.

There is overhead associated to splitting/joining work across cores. It is most efficient to run things on 1 core if they fit there. We enabled the split to 2 cores as a technique for making extreme DSD upsampling cases workable.

Unnecessary multi-core processing has other have negative consequences for the overall user experience. You want cores sitting relatively idle at all times so that when you load screens/search/focus, power up a remote, or kick off radio playback the capacity is there to quickly do the necessary burst of processing immediately.

No, that’s inaccurate. Roon uses more than 2 cores in a lot of ways…Roon uses at most 2 cores to handle audio processing for a single zone.

Library management happens on a separate thread, too. So does the UI. So does each folder you are watching. There’s a separate thread that handles communication with remotes, and zone management in the core too. Audio analysis can use all of the cores in your machine if you configure it to.

Plus, the vast majority of Roon users have multiple zones, which then spread their combined load across more than 2 cores.

Roon is balancing all of these needs (plus more I’m surely not thinking of)–there are lots of separate components which need their performance to be relatively decoupled. HQPlayer is a single zone product. Its job is to take over your whole machine to run one zone–we would be shooting ourselves in the foot if we viewed the problem that way.

In terms of future multi-core scaling improvements–

I would much sooner sink resources into making library and database management more parallel than just about any other part of the system, since this is where the most severe performance bottlenecks in the product live.

The most efficient avenues for improving DSP performance are still in the single-core domain–faster SDM’s, faster SRC, faster IIR filters. Responsible optimization efforts focus on the lower-hanging fruit first before spending big on architectural changes.

Hitting more extreme multichannel targets is interesting–but keep in mind that the great majority of multichannel systems in use with Roon are based on HDMI, and thus running at no higher than 192kHz, so they don’t present a severe performance demand. A small handful of people have access to ultra-high-rate DSD DACs like those from exaSound and Merging. They create more intense performance constraints when you want to turn the DSP knobs way up. HQPlayer remains an option for squeezing out more from extreme hardware configurations.

3 Likes