All times are UTC+01:00




Post new topic  Reply to topic  [ 162 posts ]  Go to page Previous 112 13 14 15 16 17 Next
Author Message
PostPosted: Tue Aug 24, 2021 10:17 pm 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4151
Quote:
(I wonder what non-programmers are thinking of this discussion ;) For some reason it always feels really great if I find some insane optimization like this and manage to get a few % off of the CPU usage.)
I am pure non-programmer. What I think and what everybody think is every optimization is just great, everyone loves lower CPU usage, idk who don't.
But, when it comes specifically to ST and how something works, some things have just way more CPU usage then it should be, Great example is "Dynamic Speeds" in MB. I know some hardware microphone compressors that do almost exactly same thing and they work in realtime audio, so why ST needs so much CPU?
So, Optimization is always good, ofcourse, but also big question is what you actually do with that code.

_________________
control point
control point2


Top
   
PostPosted: Tue Aug 24, 2021 10:41 pm 
User avatar

Joined: Wed Nov 08, 2017 3:16 pm
Posts: 191
Quote:
(I wonder what non-programmers are thinking of this discussion ;)
i used to be a programmer several decades ago with VB/C but i switched to different interests, primarily audio and RF (they are the same, in theory) and the windows OS since version 3.11.
i still have some knowledge of VB/C though, but the gap between what i knew several decades ago and today, is too wide to bother "catching" up.
still, i commend you for the outstanding job you have done to Stereo Tool, thanks 8-)
i did find a strange issue with B40 though i am not yet certain it is the result of a VAC, ill test that out this weekend.
additionally, there is a remedy for Windows 10 users who may have buffer depletion issues using built-in sound cards with extremely low latency (less than 100mS).
there is a power saving feature in windows 10 (sleep mode) for sound cards not actively being used (i have not found a way to change this setting via the registry as of yet).
to solve this issue, go to the "recording" panel, then tick "listen to this device" and set it to a non used sound card and do this for all devices listed in the recording panel and sleep mode will not activate. (this method is useless if you do not set your global power settings for windows to "high performance" preset).
im not talking about sleep mode for the whole PC either, just the sound cards.


Top
   
PostPosted: Tue Aug 24, 2021 10:46 pm 

Joined: Wed Apr 06, 2016 4:06 am
Posts: 38
I assume the code is inside a loop, so I am kind of curious what Clang with Polly or GCC with Graphite would do with advanced autovectorization optimizations.

No real idea on ICC, well other than Intel is replacing it with a LLVM-based solution like AMD already does for AOCC.

----------------

Definitely not a programmer here by a long stretch. I can stumble my way through other's code.... usuallly.... er, sometimes. ;) I took some Fortran and basic C++ in college as a math major, all of which I never really used much. Embarrassing as it is, I am likely to grab a calculator for anything more than basic math anymore.

These days it is more like I do poke casually at build config scripts and build projects with various compiler optimizations. For example, building the Chromium browser with Polly, higher SIMD levels, low-level LLVM options, etc.:

https://github.com/RobRich999/Chromium_Clang

----------------

@Bojcha Assuming we are talking digital, are those devices running FPGA or ASIC hardware? Dedicated hardware can make a huge difference versus running similar algorithms on general-compute processers; along with the usual overhead of the OS, hardware abstraction, etc.


Last edited by RR999 on Tue Aug 24, 2021 11:10 pm, edited 1 time in total.

Top
   
PostPosted: Tue Aug 24, 2021 10:56 pm 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4151
Quote:
@Bojcha Assuming we are talking digital, are those devices running FGPA or ASIC hardware? Dedicated hardware can make a huge difference versus running similar algorithms on general-compute processers; along with the usual overhead of the OS, hardware abstraction, etc.
I would need to search for that. But here example, DBX 286 Mic processor.

_________________
control point
control point2


Top
   
PostPosted: Tue Aug 24, 2021 11:13 pm 

Joined: Wed Apr 03, 2013 10:20 pm
Posts: 64
Quote:
@Bojcha Assuming we are talking digital, are those devices running FGPA or ASIC hardware? Dedicated hardware can make a huge difference versus running similar algorithms on general-compute processers; along with the usual overhead of the OS, hardware abstraction, etc.
Quote:
I would need to search for that. But here example, DBX 286 Mic processor.
Lovely :) Some use analog thinking and some use analog boxes. Some use stuff that just works. And some dont think in binary code :)

Regards,

MrDonT


Top
   
PostPosted: Tue Aug 24, 2021 11:22 pm 

Joined: Wed Apr 06, 2016 4:06 am
Posts: 38
I took quick look at the circuit block diagram in the manual.

https://dbxpro.com/en/product_documents ... smanualpdf

The device likely has plenty of transistors, but it appears to be working in the analog domain since I am not seeing any ADC/DAC circuitry or similar. Such a complex device could require equally complex algorithms to digitally simulate, and it apparently does according to your feedback regarding potentially increased CPU requirements.


Top
   
PostPosted: Wed Aug 25, 2021 11:02 pm 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11185
Quote:
Quote:
(I wonder what non-programmers are thinking of this discussion ;) For some reason it always feels really great if I find some insane optimization like this and manage to get a few % off of the CPU usage.)
I am pure non-programmer. What I think and what everybody think is every optimization is just great, everyone loves lower CPU usage, idk who don't.
But, when it comes specifically to ST and how something works, some things have just way more CPU usage then it should be, Great example is "Dynamic Speeds" in MB. I know some hardware microphone compressors that do almost exactly same thing and they work in realtime audio, so why ST needs so much CPU?
So, Optimization is always good, ofcourse, but also big question is what you actually do with that code.
If you set "Limit CPU" to "Low" or "Very low", dynamic speed mode uses 40% less CPU. I'm not really sure if the difference is noticeable in the audio... It shouldn't use that much CPU anyway, on my pc if I set both multibands to 9 bands, and enable dynamic speeds on all bands, it uses 11% of one CPU core with Quality set to 150% (8.5% with "Limit CPU" set to "Low"). That's in RMS mode, in Peak mode it is indeed heavy. In Peak mode, "Limit CPU" on "Sane maximum" is sufficient to lower the CPU usage, you need to set it to "Insane" to get the heavier version of the algorithm.


Top
   
PostPosted: Thu Aug 26, 2021 12:14 am 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4151
Quote:
Quote:
Quote:
(I wonder what non-programmers are thinking of this discussion ;) For some reason it always feels really great if I find some insane optimization like this and manage to get a few % off of the CPU usage.)
I am pure non-programmer. What I think and what everybody think is every optimization is just great, everyone loves lower CPU usage, idk who don't.
But, when it comes specifically to ST and how something works, some things have just way more CPU usage then it should be, Great example is "Dynamic Speeds" in MB. I know some hardware microphone compressors that do almost exactly same thing and they work in realtime audio, so why ST needs so much CPU?
So, Optimization is always good, ofcourse, but also big question is what you actually do with that code.
If you set "Limit CPU" to "Low" or "Very low", dynamic speed mode uses 40% less CPU. I'm not really sure if the difference is noticeable in the audio... It shouldn't use that much CPU anyway, on my pc if I set both multibands to 9 bands, and enable dynamic speeds on all bands, it uses 11% of one CPU core with Quality set to 150% (8.5% with "Limit CPU" set to "Low"). That's in RMS mode, in Peak mode it is indeed heavy. In Peak mode, "Limit CPU" on "Sane maximum" is sufficient to lower the CPU usage, you need to set it to "Insane" to get the heavier version of the algorithm.
Why would i set that to 'Low' or 'Very low' for conventional older CPUs, even if audio is not noticable different in that filter, other filters suffers. Exactly "Dynamic speed" and other added/changed filters rised CPU usage wich asked for optimisation. It's strange that we have 150% quality but i am ending up to set it lower so that it can work on some older CPUs. Not to mention already bad Final limiter (for example) that gets really bad when you start lowering cpu qiality less than 100% or less then "medium".

_________________
control point
control point2


Top
   
PostPosted: Thu Aug 26, 2021 3:25 am 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4151
Ha, wasapi again broken.

_________________
control point
control point2


Top
   
PostPosted: Thu Aug 26, 2021 3:32 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11185
Quote:
Ha, wasapi again broken.
Huh? I don't think I have touched that code in weeks. Is this in BETA040? Input or output? And can you verify that the previous version (which one was that?) is still ok?

There is one thing that I have played with at some point, that's trying to open in non-exclusive mode first, and only going to exclusive mode if that fails. I'll generate a separate build tomorrow to test that. It seemed some time ago that exclusive mode can cause more problems.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 162 posts ]  Go to page Previous 112 13 14 15 16 17 Next

All times are UTC+01:00


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited