Wiki page : Plugins CPU Usage

Hi,

As a few topics seem to show interest from the users to have a place where they could compare the CPU usage of plugins, I have created a wiki page :
https://wiki.moddevices.com/wiki/Plugins_CPU_Usage

Its purpose is that several users create an account and fill the tables at their own pace so that the data grow over time. The page gives some instructions so that we have consistency that allows comparison of plugins.

The method I used obviously suffers from a lack of accuracy but it’s accessible to every user. It’s still open to discussion though.

I began to measure some distortion plugins so that the page had a few data when it was published. It may be worth waiting to see where this topic goes before adding more data in case somebody comes up with better ideas that will force to do the measurements again.

14 Likes

Great idea ! I’ll try to fill some lines of these tables when I could !

3 Likes

Hi there! I would like to contribute to this with my humble Mod DUO but I had a question about the directions on the wiki:

“Connect one device input to the plugin input(s) and the plugin output(s) to the two device outputs.”

Do you want us to only use one input on effects with stereo inputs? Does that make a difference?

2 Likes

Thanks.

I don’t know. I just assumed that most people would play guitar or bass and would only use one input. I also assumed they would connect both outputs because they can use headphones and possibly plug the unit in stereo to a PA. And with the new Auto Output plugin, they can manage different situations.

But this choice might not be the best so you’re perfectly right to ask this question. I thought this topic would help have different perspectives and the opinions of more technical users. We may find out that the input and output connections don’t make a difference at all.

1 Like

Thanks all for your work on this resource :clap:

N=1 but I’ve always run mono out.

I have used both outputs at the same time, but these have been completely different instrument / fx chains

2 Likes

Me too. But I often use headphones. What does “N=1” mean ?

By the way, I don’t think the number of audio inputs/outputs of the unit that we connect will make much difference. Using both input/outputs of a stereo plugin should have more impact on CPU usage as 2 signals are processed. We could benefit from @falkTX’s confirmation on this one.

Furthermore, I may have neglected an important point : though many plugins will have the same CPU usage whether we send a signal or not, some others will react differently. I have some long IR reverbs in mind and, of course, synths plugins.

1 Like

My apologies for rushing.

N=1 is a mistranslation from statistics, it means “sample size = 1” (me).

I include it to say my comment should not be expanded to assume it is the standard behaviour. And a reminder that we would need a much larger sample size to determine what is common.

4 Likes

I made measurements with the delays and Utilities I have installed

3 Likes

By the way Instrument Tuner (still in beta) is a mess for CPU !

Thank you so much for starting this, I’ve already been surprised (TinyGain at 15%! who knew?!) and it’s giving me some optimization ideas…

2 Likes

Might it help to quote the buffer size used in the resource testing of plugins? I really want a Dwarf, but the CPU usage of many of the plugins I’m most interested in seems very high, and it’s certainly making me a little wary? I would be using granular stuff, weird delays/stutters etc, convolution reverbs, and hopefully the LP3. A mixer would be useful too; the stereo one looks way off the charts with regard to CPU usage. I’d only be able to use around 4 of my plugin choices at this rate. I was hoping for a few parallel effects chains which this modular style of patching should be able to offer?

1 Like

for the record, you can still do a ton-- this board takes up about 80% CPU with some occasional spiking. The toggleswitch is for bass, there is also a mic input with harmonizer for sax, a midi drum input, the dexed for poly-synth, and midi-thru from a keyboard to my Dreadbox Typhon mono. It’s not perfect, but it does a lot!

5 Likes

Wow thanks; that’s more encouraging. :smiley:

Seems like the plugin CPU figures could be a bit misleading? Nevertheless, it will be interesting to see some figures for the various convolution reverbs. For those, wouldn’t it be advisable to state the length of reverb IR used? Surely a loaded 15 secs IR is going to use more resources than a 3.5 secs one? Please ignore me if I’m wrong about that. :wink:

1 Like

Maybe-- to my understanding the CPU usage wiki can’t be fully accurate because it really depends on how you use them/where you put them, which takes a bit of trial and error, but the wiki can be a good general tool when aiming for lots of effects or thinking about switching something out for something less CPU-heavy.

I know the convolution IRs sound amazing, and stuff like the RMPro, but I find that my usage leans toward quantity… but still sounds pretty great. It’s a really versatile tool, but you do have to make choices. If you want to hear the best examples IMO of what the MOD ecosystem can do, check out Steve Lawson on Bandcamp.

4 Likes

I very rarely use convolution for reverb; I’m more interested in the special efx possibilities they offer, as a kind of cross synthesis method. Hence my need for using long impulse responses. Do the CPU spikes absolutely always result in audible clicks, pops or glitches?

I don’t think so… but I mostly notice them when they do. In the small amount of sound I’ve actually recorded it’s varied. There were fewer with the last update, I didn’t hear any clicks last night while playing but I did have the dwarf freeze up on me. It may be because of certain beta plugins or plugin combos I have on my boards. I am definitely not a large enough sample size, and most of the people who’ve shared content (that I’ve heard) have had clean sounding stuff.

1 Like

Sure. Furthermore, there is some idle CPU usage when no plugin is on the pedalboard. So these numbers are more an approximate way to compare the plugins than a real measure.

These noises should only appear when there are xruns, which happen when the CPU is at 100%.

4 Likes

I had assumed that the idle CPU usage of the unit, operating system etc, was subtracted from the quoted plugin figures? If not then the actual plugin figures will be significantly lower?

Lol… I see that I didn’t read the Wiki page thoroughly… oops!
I understand the ‘for comparison’ only aspect now.

I very much appreciate your efforts in this regard… but what do you guys think about a systematic, programmatic approach, i.e. with a script? Said script would iterate over all plugins and for each plugin

  • create a Cartesian Product of all plugin parameters
  • measure CPU consumption of each parameter combination
  • add them to a list of dictionaries ({plugin_name_parameter_combination: CPU_consumption})

Then, it would be easy to calculate the max/min/mean/median CPU load for a plugin or even create a nice chart to show outliers and stable combinations of parameter combinations. This chart (or the numbers) could even be part of the plugins page or used in a ranking like the one you created in the wiki. I think it would also be useful for regression testing purposes. Sure, for Duo, DuoX, and Dwarf the measurements would have to be repeated but since it is an automated process it would not take away precious developer time.

4 Likes

I think that when I filled these data, the idle CPU usage was around 6-7%. The subtraction could have been an option but are we sure that the plugin CPU usage is exactly the total minus the idle CPU usage ? I don’t know how overlapped are the OS and the plugin.

So I considered we could keep things simple but this thread is there to welcome ideas, especially if you guys master these kind of technical aspects better than me. If we agree to make a subtraction, it wouldn’t take too long modifying the tables.

That would be awesome. I took this initiative because there seemed to be demands from users and we had no better alternative. But I would love to see a more accurate and automatic process to collect these data though I don’t have the skills to create this tool.

4 Likes