Stereo Tool
https://www.forums.stereotool.com/

Use subthread per channel
https://www.forums.stereotool.com/viewtopic.php?t=34618
Page 1 of 1

Author:  Pethunia [ Mon Nov 04, 2024 5:06 pm ]
Post subject:  Use subthread per channel

Hi,

I am running ST (audio quality set to 130%) on Windows 10, with an Intel Core i5-4200M CPU @ 2.50GHz.
Now I noticed that when disabling "Use subthread per channel", the overal CPU load reported by Windows decreases from about 77% to 68%, whereas the load per thread reported by ST increases from about 54% to 61%. While this may be as expected, I do wonder what would be recommended in my case?
Image

Author:  Pethunia [ Fri Aug 15, 2025 10:06 pm ]
Post subject:  Re: Use subthread per channel

Meanwhile running on an Intel Core i7-4810MQ @ 2.80GHz (Windows 10, ST audio quality set to 150%) and still similar behaviour. When disabling "Use subthread per channel", the overal CPU load reported by Windows significantly decreases from about 45% to 36%, whereas the load per thread reported by ST increases just a little bit. The number of parallel threads is set to 6.
The help-index in ST suggests to keep this setting enabled, so I wonder what would be the disadvantage by disabling this setting nonetheless?
Now running 10.71 BETA001 with FM-output.

Author:  hvz [ Sat Aug 16, 2025 4:02 pm ]
Post subject:  Re: Use subthread per channel

I just tested it here, and I see no difference in CPU usage on my end between this setting on or off. The amount of calculations is also identical; the only thing that might influence things is that when spreading the load over multiple cores, there could be more cache misses. Plus there's some synchronization code, but that's really negligable.

How do you check the CPU usage in Windows? If that's with Task Manager, please be aware that the number that Task Manager shows can be quite far off from the real CPU usage.

But: I see that you wrote this: "The number of parallel threads is set to 6.". With the "separate thread" setting checked, that would mean that Stereo Tool is in fact using 12 threads. And since there aren't that many CPU cores available, chances are that the CPU is using Hyperthreading, which might increase the CPU usage. So I recommend lowering the number of threads. The newer version of Stereo Tool works with CPU presets, and won't offer you any settings that use more cores than what are availalble.

Author:  Pethunia [ Sat Aug 16, 2025 9:56 pm ]
Post subject:  Re: Use subthread per channel

Quote:
I just tested it here, and I see no difference in CPU usage on my end between this setting on or off. The amount of calculations is also identical; the only thing that might influence things is that when spreading the load over multiple cores, there could be more cache misses. Plus there's some synchronization code, but that's really negligable.

How do you check the CPU usage in Windows? If that's with Task Manager, please be aware that the number that Task Manager shows can be quite far off from the real CPU usage.

But: I see that you wrote this: "The number of parallel threads is set to 6.". With the "separate thread" setting checked, that would mean that Stereo Tool is in fact using 12 threads. And since there aren't that many CPU cores available, chances are that the CPU is using Hyperthreading, which might increase the CPU usage. So I recommend lowering the number of threads. The newer version of Stereo Tool works with CPU presets, and won't offer you any settings that use more cores than what are availalble.
Initially I tested with Task Manager indeed, but I now tried with both Process Explorer v17.06 and HWiNFO v8.30 as well. Also I have decreased the number of parallel threads down to 4 to match the actual number of available CPU cores.
I can fully confirm that all three measurements are consistent and reveal a significant CPU-load increase (goes up from approx. 35% to 45% total CPU load) when enabling "Use subthread per channel". It's actually noticeable, as the CPU fan increases its speed as well. My computer is an HP Probook 650 G1 with an Intel Core i7-4810MQ and 16 GB DDR3 installed, running Windows 10 22H2. This issue reproduces regardless whether audio is played or not.

I tried disabling FM-processing and the CPU load difference remains proportional when switching the setting on and off.


UPDATE 17-08-2025: This issue also persists with a fresh ST installation (factory defaults). It appears that disabling this setting makes fewer resources available to ST, as the processing load reported by ST increases in inverse proportion to the CPU load reported by Windows.

Author:  hvz [ Fri Oct 03, 2025 8:24 pm ]
Post subject:  Re: Use subthread per channel

I'm not sure what to make of this. I do see an effect like this - even MUCH worse - when running a debug build. In fact the total throughput in debug mode is much lower with subthread enabled. But in release builds I see no difference in Task Manager (3.1% vs 3.2%), and a clear reduction in what ST reports.

In your description, do you mean that your CPU has 4 cores? Then you should set it to 2 threads if you use subthreads, otherwise it's still trying to use 8 cores.

Author:  Pethunia [ Sun Oct 05, 2025 8:32 pm ]
Post subject:  Re: Use subthread per channel

Quote:
I'm not sure what to make of this. I do see an effect like this - even MUCH worse - when running a debug build. In fact the total throughput in debug mode is much lower with subthread enabled. But in release builds I see no difference in Task Manager (3.1% vs 3.2%), and a clear reduction in what ST reports.

In your description, do you mean that your CPU has 4 cores? Then you should set it to 2 threads if you use subthreads, otherwise it's still trying to use 8 cores.
It has 4 cores, or 8 threads with Hyper-Threading (Intel Core i7-4810MQ). For some reason it appears that setting the number of parallel threads to 6 (with subthread per channel enabled) offers the best balance between CPU load and immunity to concurrent system processes. This also holds true for the latest 10.71 release. The issue that I reported earlier remains exactly the same though (i.e. change in CPU load reported by ST versus that reported by Windows).
I tried setting the number of parallel threads to 2 with subthread per channel enabled, but then ST reports a CPU load >90% and warns about high CPU load accordingly. Even setting it to 4 parallel threads (with subthread per channel enabled) still appears to be too risky with orange-coloured CPU load bars in ST.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/