Old 04-24-2012, 01:24 PM   #1
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default Real Time CPU

Hi, I'm trying to figure out why Reaper shows only 10% FX CPU use but maxes out Real Time CPU use. It doesn't matter how I change the buffer size or whether I use ASIO/WDM drivers, RT CPU is always maxed out. What is using all the CPU?

I have a AMD 6X 1090T CPU and 16GB RAM so it's a reasonably powerful PC.

Task Manager reports 16-20% cpu use when i play the project. I have the buffers set very high Reaper still breaks up and registers 100% Real Time CPU. This is really bizarre and frustrating.

Buffers: WDM 185ms
ASIO 2048 Samples
Wave Out 371ms

It doesn't matter what the buffer size is RT CPU is always 100%.

Last edited by Spectralis; 04-24-2012 at 02:47 PM.
Spectralis is offline   Reply With Quote
Old 04-24-2012, 02:53 PM   #2
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

I think I've found the answer:

http://www.kvraudio.com/forum/viewto...er=asc&start=0

"Solved! I can't believe how easy it was, i'm so stupid! Ok, so the problem was that REAPER was not using all cores for live FX processing. In Preferences->Audio->Buffering, tick the "Allow live FX multiprocessing on" and choose how many cores you want. Apparently, it might impare performance, but i'm not sure how. I just asked the poster on the REAPER forums, and I will update this when I get his answer."

It seems a bit daft that Reaper doesn't automatically detect all the CPU's and use them accordingly as standard. Then if this needs to be changed it can be done manually in the 'Options' settings rather than the other way round.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 08:55 AM   #3
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

I've set 'Allow live FX multiprocessing' to use '6' cores but it's not solved the problem.

I'm using SynthMaster 2.5 set to 'Better' or 'Best' sound quality in Reaper which reports:

FX CPU 22%

RT CPU 133%

The sound breaks up and judders.

This is a real PITA. Either Reaper is terribly inefficient or I am for not setting it up right. Any help pleeeeease?
Spectralis is offline   Reply With Quote
Old 04-26-2012, 09:04 AM   #4
faun2500
Human being with feelings
 
faun2500's Avatar
 
Join Date: Mar 2010
Location: UK
Posts: 852
Default

Quote:
Originally Posted by Spectralis View Post
I've set 'Allow live FX multiprocessing' to use '6' cores but it's not solved the problem.

I'm using SynthMaster 2.5 set to 'Better' or 'Best' sound quality in Reaper which reports:

FX CPU 22%

RT CPU 133%

The sound breaks up and judders.

This is a real PITA. Either Reaper is terribly inefficient or I am for not setting it up right. Any help pleeeeease?

This is bothering me too. I get stutters too with a high latency and cpu is quite low.

What is THE RTCPU thing anyway?
__________________
www.biomedigital.co.uk - Premium Samples & Presets
Grab some High Quality FREE samples now!
faun2500 is offline   Reply With Quote
Old 04-26-2012, 09:22 AM   #5
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by faun2500 View Post
This is bothering me too. I get stutters too with a high latency and cpu is quite low.

What is THE RTCPU thing anyway?
I really don't know either. I'm pulling my hair out trying to figure out why Reaper 4 struggles to cope with relatively low plugin loads. It doesn't make a difference using bigger latencies either. I really like Reaper but this is seriously making me consider changing DAW.

I've searched on this forum and on KVR for an answer but no one seems to have a definitive answer. All I can surmise is that Reaper can't cope with certain plugins or plugin loads and throws a wobbly. It doesn't seem to use all 6 CPU cores even though it is set to do so.

In the SynthMaster example I gave above Win 7 Task Manager is reporting only 7% CPU use yet Reaper 4 is reporting 133% RT CPU. WTF?
Spectralis is offline   Reply With Quote
Old 04-26-2012, 09:38 AM   #6
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

RT CPU is "Real Time CPU". It's the amount of CPU required in order to maintain real time audio. Thus, anything over 100% means audio drop outs. If your CPU can't do what is required within a specific time then it doesn't matter how much CPU is used.

Sounds like you are both using too small an audio buffer and/or are running at too high a sample rate. Best to post all the relevant info, like what audio interface and what settings you are using. People on this forum are great and will help given the info.

PS - Reaper is one of the most efficient DAWs out there... but don't take my word for it - search on Google.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 10:16 AM   #7
faun2500
Human being with feelings
 
faun2500's Avatar
 
Join Date: Mar 2010
Location: UK
Posts: 852
Default

Quote:
Originally Posted by n0rd View Post
People on this forum are great and will help given the info.

I agree with that, I've been around here a while now and have had endless problems sorted out. lol.

I'm recording at 96k using an RME fireface UC on windows 7 64 and reaper 64, 16g RAM.

Do you think that making my songs now at 96k sample rate could be causing problems?
__________________
www.biomedigital.co.uk - Premium Samples & Presets
Grab some High Quality FREE samples now!
faun2500 is offline   Reply With Quote
Old 04-26-2012, 10:16 AM   #8
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
RT CPU is "Real Time CPU". It's the amount of CPU required in order to maintain real time audio. Thus, anything over 100% means audio drop outs. If your CPU can't do what is required within a specific time then it doesn't matter how much CPU is used.

Sounds like you are both using too small an audio buffer and/or are running at too high a sample rate. Best to post all the relevant info, like what audio interface and what settings you are using. People on this forum are great and will help given the info.

PS - Reaper is one of the most efficient DAWs out there... but don't take my word for it - search on Google.
Thanks for your reply. I'm using ASIO4ALL driver. But even when I use WDM or WaveOut it makes no difference to performance. I'm outputting to USB Speakers.

ASIO4ALL:
Sample rate: 44.1kHz
ASIO Buffer Size = 2048

WaveOut:
Sample rate: 44.1kHz
Buffers: 4 x 2048 = 185ms

WDM Kernal Streaming:
Sample rate: 44.1kHz
Buffers: 8 x 1024 = 185ms

I'm using 3 x UAD-1. I have 'Anticipative FX processing' switched off. Win 7 Resource Monitor reports that Reaper 4 is using 5% CPU during playback.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 11:17 AM   #9
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

@faun2500:

Quote:
Originally Posted by faun2500 View Post
I'm recording at 96k using an RME fireface UC on windows 7 64 and reaper 64, 16g RAM.
RME FF'UC is a very good audio interface so I doubt that it's the problem.
(You might want to check that you have the latest drivers and firmware for it just in case - rme).

Quote:
Originally Posted by faun2500 View Post
Do you think that making my songs now at 96k sample rate could be causing problems?
Using a sample rate of 96k will stress your system by at least two times compared with 48k and even more than 44k. It could simply be that your computer can not handle it. What CPU are you using and what buffer size are you using? (maybe someone with similar spec system can compare).


@Spectralis:

Quote:
Originally Posted by Spectralis View Post
I'm using ASIO4ALL driver.
ASIO is the preferred protocol. Since you are using ASIO4ALL I can only assume that you are using an on-board sound card and not an "audio interface". They are kind of the same but on-board sound cards are made basically just to play back pre-recorded audio and not very good and generating audio on the fly ie real time / daw use.

Can you specify what device you are using?


@ Both faun2500 & Spectralis:
Do you have the >100% RT CPU issue with all or only particular synths?
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 11:42 AM   #10
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
ASIO is the preferred protocol. Since you are using ASIO4ALL I can only assume that you are using an on-board sound card and not an "audio interface". They are kind of the same but on-board sound cards are made basically just to play back pre-recorded audio and not very good and generating audio on the fly ie real time / daw use.

Can you specify what device you are using?


@ Both faun2500 & Spectralis:
Do you have the >100% RT CPU issue with all or only particular synths?
Output device is the USB speaker codec. It doesn't happen as much with other plugins but even then Reaper is not anywhere near utilising all 6 cores and the sound breaks up.

In the SynthMaster example I gave, Reaper is playing just one synth using a lead sound and a monophonic midi file. That's hardly taxing for a USB speaker driver I think.

The problem seems to be that Reaper is unable to utilise all six cores effectively and just maxes out a single core. This seems to be the case because when I set SynthMaster to 'Best' mode the sound breaks up and RTCPU reports 133% CPU utilisation. IOW Reaper is chewing up all of one core because it can't or won't utilise the other 5. Perhaps this is why it glitches.

To put this in context, I regularly edit in Sony Vegas Pro 11 using quite a lot of CPU hungry FX plugins and even when Vegas is utilising nearly all six cores it plays back without glitching. I have to really push it for the sound to break up.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 12:14 PM   #11
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
The problem seems to be that Reaper is unable to utilise all six cores effectively and just maxes out a single core. This seems to be the case because when I set SynthMaster to 'Best' mode the sound breaks up and RTCPU reports 133% CPU utilisation. IOW Reaper is chewing up all of one core because it can't or won't utilise the other 5. Perhaps this is why it glitches.
Neither Reaper or any other DAW can load distribute what a plugin does. The plugin needs to coded to do that itself. I'm not familiar with SynthMaster but I'm guessing that setting it to "best" mode it is using 4 or 8 times oversampling and possibly a different more intensive code path. However, it also seems that SynthMaster has not been coded to use multiple CPUs so it never will.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 01:18 PM   #12
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
Neither Reaper or any other DAW can load distribute what a plugin does. The plugin needs to coded to do that itself. I'm not familiar with SynthMaster but I'm guessing that setting it to "best" mode it is using 4 or 8 times oversampling and possibly a different more intensive code path. However, it also seems that SynthMaster has not been coded to use multiple CPUs so it never will.
Ok, if I understand you correctly then each plugin needs to be coded to use multiple cpus? This seems odd because when I edit video or use audio FX in Vegas or Premiere Pro they distribute the load over all six cores. In fact they offer settings to adjust CPU and RAM load. In which case it is the host that controls these parameters. Evidently Reaper is unable to do this.

I checked the latency of my computer using DPC Latency Checker which reports that my PC is able to handle real time streaming of audio and video data without drop outs. I know this to be the case because I've never had a problem with very complex projects in Vegas and After Effects. Even when I use CUDA acceleration at the same time there is no problem so all that data shunting is not the problem.

http://www.thesycon.de/deu/latency_check.shtml

UPDATE: From a SOS article:

"Developers told me that although most instruments and plug-ins run as several threads, they have no control over how these are distributed among the available cores. This is totally managed by the host application, and according to all the tests I carried out while researching this feature, most audio applications treat each mono/stereo audio track (or soft-synth/sampler track), plus associated plug-in effects, as a single task, and allocate it to a single processor core. You can easily confirm this for your own applications using Task Manager (see the 'Checking Your Tasks' box) and systematically adding a series of demanding plug-ins to the same audio track. I suggest a convolution reverb with the longest Impulse Response you can find."

http://www.soundonsound.com/sos/jan0...ician_0108.htm

Last edited by Spectralis; 04-26-2012 at 01:36 PM.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 01:55 PM   #13
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

OK I've found the answer to the problem.

It has nothing to do with the computer, audio card or any hardware related issue.

Just as the SOS article describes, Reaper assigns CPU load per track.

What this means is that if you have too many plugins on a track or a single plugin on a track that is CPU intensive then it causes the audio to crackle.

I know this to be a fact because I loaded six instances of SynthMaker into Reaper and as long as I kept each instance at 8 voice polyphony in 'Best' sound quality mode there were no glitches and everything played back perfectly even though CPU load was 94% for all six cores.

IOW load too many or too CPU intensive plugins into a single track and Reaper will crackle. Distribute the load over multiple track and Reaper will playback fine.

Who knew, eh?

That begs the question,

Is there anyway round this?

Last edited by Spectralis; 04-26-2012 at 02:01 PM.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 02:01 PM   #14
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
Ok, if I understand you correctly then each plugin needs to be coded to use multiple cpus? This seems odd because when I edit video or use audio FX in Vegas or Premiere Pro they distribute the load over all six cores.
Apples and Oranges I'm afraid... I'll try and explain:

With video editing the input to a plugin is an image or a frame; so the data can be split into sub images (half or quarter images) and thus be passed to multiple cores to processed. [Video in -> plugin -> Video out]

With audio (assuming a VSTi) the input is only CCs (Control Change messages, typically what note is being pressed) so there is no simple subdivision especially if only one note is pressed. [CCs in -> plugin -> Audio out]. So with audio, the input and output types are different and it is the plugin which defines how to process it.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 02:04 PM   #15
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: I have articles of clothing older than you
Posts: 7,872
Default

I and the vast majority of users on here use 24bit 44.1 or 48 for recording. 96, to be honest, is pretty much irrelevant unless your target audience is teenagers with very very good home stereo systems capable of reproducing 24/96 wavs, or..... bats.

You are using a ton of cpu processing power to very little advantage at 96. or for that matter even at 88.2
ivansc is offline   Reply With Quote
Old 04-26-2012, 02:06 PM   #16
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
Is there anyway round this?
Bounce / Render / Freeze track to audio.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 02:09 PM   #17
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
Apples and Oranges I'm afraid... I'll try and explain:

With video editing the input to a plugin is an image or a frame; so the data can be split into sub images (half or quarter images) and thus be passed to multiple cores to processed. [Video in -> plugin -> Video out]

With audio (assuming a VSTi) the input is only CCs (Control Change messages, typically what note is being pressed) so there is no simple subdivision especially if only one note is pressed. [CCs in -> plugin -> Audio out]. So with audio, the input and output types are different and it is the plugin which defines how to process it.
But according to the SOS article it is the host that should handle CPU usage. I've just tested this and it's clear that Reaper can only handle so much plugin load per track yet when this load is distributed over a number of tracks Reaper handles it fine. This doesn't appear to fit your explanation.

I'm not having a go at Reaper - perhaps this is the same in other hosts. I'm trying to find out why.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 02:54 PM   #18
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
But according to the SOS article it is the host that should handle CPU usage. I've just tested this and it's clear that Reaper can only handle so much plugin load per track yet when this load is distributed over a number of tracks Reaper handles it fine. This doesn't appear to fit your explanation.

I'm not having a go at Reaper - perhaps this is the same in other hosts. I'm trying to find out why.
It's not Reaper (or any DAW) that makes the sound that you hear - it's the plugin(s). Reaper *can* distribute different tracks to different cores but it can't distribute what the plugin does - no DAW can - since the plugin is essentially a black box to the host.

So, if you load up a track with:
"Plugin A -> Plugin B -> Plugin C -> Plugin D -> Plugin E"
Plugin B can't do anything until Plugin A is finished regardless of what core it is running on... and Plugin C can't do anything until B is finished etc

In the end, it is not Reaper which cannot handle the plugin load per track - it's the CPU. In order to be "real-time" all work must be done within the plugin pipeline before a set duration of time otherwise you get audio dropouts.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-26-2012, 03:45 PM   #19
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
It's not Reaper (or any DAW) that makes the sound that you hear - it's the plugin(s). Reaper *can* distribute different tracks to different cores but it can't distribute what the plugin does - no DAW can - since the plugin is essentially a black box to the host.

So, if you load up a track with:
"Plugin A -> Plugin B -> Plugin C -> Plugin D -> Plugin E"
Plugin B can't do anything until Plugin A is finished regardless of what core it is running on... and Plugin C can't do anything until B is finished etc

In the end, it is not Reaper which cannot handle the plugin load per track - it's the CPU. In order to be "real-time" all work must be done within the plugin pipeline before a set duration of time otherwise you get audio dropouts.
So Reaper assigns each track to a single CPU?

In the test I made, Reaper can handle 6 SynthMaster's as long as they're dispersed over separate tracks and the polyphony is set to 8 but it can't handle a single instance if the polyphony is increased to 12 notes. In both cases Reaper is playing these plugins in real time which means the CPU is handling them all at once. There is no chain of plugins in either case yet Reaper can't handle one instance of a synth if its polyphony is set too high.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 03:56 PM   #20
icemac
Human being with feelings
 
Join Date: Dec 2009
Posts: 59
Default

also i have found another influence on RTCPU, the "anticipative FX processing" settings.
i was wondering why i was having trouble with a previously working song (though cpu maxed out)
seems there is a bug or something with reaper, i have to 'bump' the setting eg turn the switch on/off or change the number and back.

then i have a dramatic change in the RTCPU and all is good
icemac is offline   Reply With Quote
Old 04-26-2012, 04:18 PM   #21
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by icemac View Post
also i have found another influence on RTCPU, the "anticipative FX processing" settings.
i was wondering why i was having trouble with a previously working song (though cpu maxed out)
seems there is a bug or something with reaper, i have to 'bump' the setting eg turn the switch on/off or change the number and back.

then i have a dramatic change in the RTCPU and all is good
That's interesting to know. I'll try that as well.

In terms of the host controlling the distribution of plugin load this is what the SOS article reports:

"The vast majority of stand-alone soft synths also seem to mostly use a single core, but as soon as you load the VSTi or DXi version into a host VSTi or DXi application, this host should distribute the various plug-ins and soft synths across the available cores to make best use of resources."

If this is the case with Reaper then why is the per track plugin load much less than the multi-track plugin load?
Spectralis is offline   Reply With Quote
Old 04-26-2012, 05:14 PM   #22
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,787
Default

There's a lot of misinformation in this thread.

Rt CPU is CPU used for things like: tine stretching, live resampling, pulling stuff in from disk. Have you been messing with the play rate? What sample rate are you using? Have you ticked resampling or time stretch options up to a higher quality setting?
dub3000 is offline   Reply With Quote
Old 04-26-2012, 05:47 PM   #23
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by dub3000 View Post
There's a lot of misinformation in this thread.

Rt CPU is CPU used for things like: tine stretching, live resampling, pulling stuff in from disk. Have you been messing with the play rate? What sample rate are you using? Have you ticked resampling or time stretch options up to a higher quality setting?
I've done none of those things. I'm not using any audio samples in the test. I quoted the audio sample rate early on, it's 44,1kHz.

Be specific about what misinformation you're referring to otherwise it isn't much help.

My question is why can Reaper handle multiple instances of a plugin on different tracks but is unable to handle a single instance of that plugin if it is set to a slightly higher polyphony?

It's very easy to replicate my test. Anyone can download the SynthMaster demo.
Spectralis is offline   Reply With Quote
Old 04-26-2012, 06:31 PM   #24
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,787
Default

Quote:
Originally Posted by Spectralis View Post
I've done none of those things. I'm not using any audio samples in the test. I quoted the audio sample rate early on, it's 44,1kHz.

Be specific about what misinformation you're referring to otherwise it isn't much help.

My question is why can Reaper handle multiple instances of a plugin on different tracks but is unable to handle a single instance of that plugin if it is set to a slightly higher polyphony?

It's very easy to replicate my test. Anyone can download the SynthMaster demo.
What happens if you right-click the plugin in the FX browser, select run as dedicated process, and restart reaper?
dub3000 is offline   Reply With Quote
Old 04-27-2012, 01:07 AM   #25
faun2500
Human being with feelings
 
faun2500's Avatar
 
Join Date: Mar 2010
Location: UK
Posts: 852
Default

Quote:
Originally Posted by Spectralis View Post
But according to the SOS article it is the host that should handle CPU usage. I've just tested this and it's clear that Reaper can only handle so much plugin load per track yet when this load is distributed over a number of tracks Reaper handles it fine. This doesn't appear to fit your explanation.

I'm not having a go at Reaper - perhaps this is the same in other hosts. I'm trying to find out why.

Yes, This is what I am finding. No problems with 50 plugins over different tracks but 10 on one track is causing a problem.
__________________
www.biomedigital.co.uk - Premium Samples & Presets
Grab some High Quality FREE samples now!
faun2500 is offline   Reply With Quote
Old 04-27-2012, 02:33 AM   #26
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
In the test I made, Reaper can handle 6 SynthMaster's as long as they're dispersed over separate tracks and the polyphony is set to 8 but it can't handle a single instance if the polyphony is increased to 12 notes. There is no chain of plugins in either case yet Reaper can't handle one instance of a synth if its polyphony is set too high.
Think of it like this:
One person trying to lift 120lbs (12 notes) can't do it...
Two people each lifting 80lbs (8 notes) each can.

Even though you have the same (SynthMaster) plugin on two different tracks, it's actually like two plugins working independently and Reaper can place them on different cores.

Quote:
Originally Posted by faun2500 View Post
Yes, This is what I am finding. No problems with 50 plugins over different tracks but 10 on one track is causing a problem.
Each plugin takes a bit of time to process. Having too many plugins in a chain on the one track means the total time is too large to maintain "real-time" performance. Having plugins in a chain makes them dependent on each other. Having plugins on different tracks (typically) makes them independent.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-27-2012, 04:13 AM   #27
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by dub3000 View Post
What happens if you right-click the plugin in the FX browser, select run as dedicated process, and restart reaper?
I'm not at my music PC atm but I'll try your suggestion and report back.
Spectralis is offline   Reply With Quote
Old 04-27-2012, 04:21 AM   #28
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
Think of it like this:
One person trying to lift 120lbs (12 notes) can't do it...
Two people each lifting 80lbs (8 notes) each can.

Even though you have the same (SynthMaster) plugin on two different tracks, it's actually like two plugins working independently and Reaper can place them on different cores.


Each plugin takes a bit of time to process. Having too many plugins in a chain on the one track means the total time is too large to maintain "real-time" performance. Having plugins in a chain makes them dependent on each other. Having plugins on different tracks (typically) makes them independent.
I think the problem isn't related to how long it takes the CPU to process chains of plugins but how heavy the plugin load is on each track. In the test I made there is no chain of plugins per track - just a single one. Which leads me to believe that Reaper can distribute the load over the CPU very well as long as it's distributed over multiple tracks but if it's on one track then it can't. IOW each track is limited to the power of a single core in a multi-core setup.

Why the host as a whole can distribute load perfectly well but a single track can't isn't clear.

Last edited by Spectralis; 04-27-2012 at 04:42 AM.
Spectralis is offline   Reply With Quote
Old 04-27-2012, 04:37 AM   #29
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
I think the problem isn't related to how long it takes the CPU to process chains of plugins but how heavy the plugin load is on each track. In the test I made there is no chain of plugins per track - just a single one. Which leads me to believe that Reaper can distribute the load over the CPU very well as long as it's distributed over multiple tracks but if it's on one track then it can't. IOW each track is limited to the power of a single CPU in a multi-CPU setup.

Why the host as a whole can distribute load perfectly well but a single track can't isn't clear.
See post #11.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-28-2012, 10:12 AM   #30
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

I tried running as a dedicated process and the audio still broke up at a high setting.

Why are plugin developers creating single core plugins when computers have been multi-core for ages? It creates an artificial limitation with plugins that use a lot of juice. I wonder how many other synth plugins are limited to single core?
Spectralis is offline   Reply With Quote
Old 04-28-2012, 10:37 AM   #31
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

Quote:
Originally Posted by Spectralis View Post
Why are plugin developers creating single core plugins when computers have been multi-core for ages?
- Multi core programming is hard.
- Converting a serial based function into parallel is even harder (sometimes impossible).
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-28-2012, 10:49 AM   #32
Spectralis
Human being with feelings
 
Join Date: Aug 2010
Posts: 67
Default

Quote:
Originally Posted by n0rd View Post
- Multi core programming is hard.
- Converting a serial based function into parallel is even harder (sometimes impossible).
I've been testing other plugins and Diva even on 'Divine' setting uses only 60% RT CPU. SynthMaster is a huge CPU hog!

I'm thinking that plugins like Tremor and Groove Machine that have multiple outs and synth engines will cause problems because even though they output to different tracks they're still part of a single plugin. I might have to load multiple instances of them to play some loops in that case.
Spectralis is offline   Reply With Quote
Old 04-29-2012, 12:06 AM   #33
Nip
Human being with feelings
 
Join Date: Jun 2010
Location: Sweden
Posts: 1,227
Default

Quote:
Originally Posted by Spectralis View Post
Output device is the USB speaker codec. It doesn't happen as much with other plugins but even then Reaper is not anywhere near utilising all 6 cores and the sound breaks up.

In the SynthMaster example I gave, Reaper is playing just one synth using a lead sound and a monophonic midi file. That's hardly taxing for a USB speaker driver I think.

The problem seems to be that Reaper is unable to utilise all six cores effectively and just maxes out a single core. This seems to be the case because when I set SynthMaster to 'Best' mode the sound breaks up and RTCPU reports 133% CPU utilisation. IOW Reaper is chewing up all of one core because it can't or won't utilise the other 5. Perhaps this is why it glitches.

To put this in context, I regularly edit in Sony Vegas Pro 11 using quite a lot of CPU hungry FX plugins and even when Vegas is utilising nearly all six cores it plays back without glitching. I have to really push it for the sound to break up.
I tested many settings in my i7 and tried firewire for three month:

#1. In BIOS, turn of dynamic overclocking if you got this kind of setting.
#2. In BIOS, turn off core parking.

Both these made cpu go down 20%.

#3. Another thing I learned about HT(HyperThreading) when running on my old daw - a P4 2.8G.

When I ran it as one core only(HT off) I could utilize 65-70% cpu before any crackling occured. When I later changed to HT on(taskmanager shows 2 cores), this started happening at 40-45%.

So lesson learned, the logical cores(HT on) are not same as physical cores.
If running into trouble, I would try and turn off hyperthreading in BIOS.

My i7 shows 8 cores, but it's with HT on.

#4. If running out of cpu and firewire - change to Legacy firewire drivers and cpu will go down about 20% on the core used for audio driver.

#5. Make sure no powersaving options are active on computer. There are setting and profiles that have settings that does not go higher than certain cpu utilization.

See to that you run high performance settings.
Nip is online now   Reply With Quote
Old 04-12-2013, 06:57 AM   #34
preachers
Human being with feelings
 
preachers's Avatar
 
Join Date: Feb 2010
Location: hebei
Posts: 136
Default

Quote:
Originally Posted by n0rd View Post
So, if you load up a track with:
"Plugin A -> Plugin B -> Plugin C -> Plugin D -> Plugin E"
Plugin B can't do anything until Plugin A is finished regardless of what core it is running on... and Plugin C can't do anything until B is finished etc
so according to Spectralis' information, i do a test for this. first, i have 10 fxes at one track, i get my RTCPU 103%, the problem is the 10th fx with 36% cpu usage, and my cpu can't handle all of them without drop outs. then i delete the last fx, turn the track's volume down to -inf, send it's signal to a blank track with pre-fader setting, insert the plugin into that new track, now the RTCPU go back to around 13% and no drop outs occur. in this case, my total CPU can reach 96% with smooth playback.

in my test, the plugins still in series. so what u said is not true.
preachers is offline   Reply With Quote
Old 04-13-2013, 09:56 AM   #35
n0rd
Human being with feelings
 
n0rd's Avatar
 
Join Date: Dec 2010
Location: Down Under
Posts: 396
Default

For a typical serial pipeline it is true. As an analogy, think of water flowing down an empty garden hose. Water can't come out the end before first flowing through the middle. However, fluid dynamics and software coding are rarely "typical" in real world implementations.
__________________
Subconscious Inclination...
n0rd is offline   Reply With Quote
Old 04-29-2013, 06:41 AM   #36
faun2500
Human being with feelings
 
faun2500's Avatar
 
Join Date: Mar 2010
Location: UK
Posts: 852
Default

Quote:
Originally Posted by n0rd View Post
Think of it like this:
One person trying to lift 120lbs (12 notes) can't do it...
Two people each lifting 80lbs (8 notes) each can.

Excuse me but I can lift quite a lot more that 120lbs! lol

But anyway, I have the RT problems still. Changing the loop points while playing brings my audio to its knees.

Yes, I have about 80 plugins going at the moment but why does the CPU say 30% and RTCPU 80%?? When it crashes it goes up to 3000%!!!

Windows task manager agrees with reapers CPU as well.

So I took off all plugins apart from Battery 4 and I still get the same problems so it is not loads of plugins causing it, I must be something else.
__________________
www.biomedigital.co.uk - Premium Samples & Presets
Grab some High Quality FREE samples now!
faun2500 is offline   Reply With Quote
Old 04-29-2013, 07:04 AM   #37
faun2500
Human being with feelings
 
faun2500's Avatar
 
Join Date: Mar 2010
Location: UK
Posts: 852
Default

I done some test and it seems ozone 5 maximizer on iir 3 with transient recovery sends the RT CPU number over the CPU number. Now I know that setting causing me problems I will make sure I have that turned off during tracking.

Pretty easy solution for me but I will have to ignore the CPU meter and only check RTCPU. Bit silly really.

__________________
www.biomedigital.co.uk - Premium Samples & Presets
Grab some High Quality FREE samples now!
faun2500 is offline   Reply With Quote
Old 04-29-2013, 11:25 AM   #38
Andy Hamm
Human being with feelings
 
Andy Hamm's Avatar
 
Join Date: May 2011
Location: Canada
Posts: 1,324
Default

Real time Audio is a single core process.

Here is my best shot at an analogy:

Single core:
You have a guitar with 1 guitar player, and six strings on the guitar. Easy Peasy, the guitar player plays the guitar.

Multi Core:
You have 6 guitar players, still only one guitar but each with access to only one of the strings. Try to make the 6 guys sound as fluid as the one in real time, not an easy task.

Multi core processing is great for all kinds of things, real time audio just isn't one of them. I would imagine that one day someone will come up with a method to make it (multiprocessing) work, but as things are today, keeping it simple just works.
Andy Hamm is offline   Reply With Quote
Old 10-16-2013, 02:43 AM   #39
ovnis
Human being with feelings
 
Join Date: Oct 2011
Posts: 503
Default

And what do you think about that ?

http://forum.cockos.com/showthread.php?t=129865
ovnis is online now   Reply With Quote
Old 10-16-2013, 04:29 AM   #40
Snap
Human being with feelings
 
Snap's Avatar
 
Join Date: Jul 2011
Posts: 786
Default

Quote:
Real time Audio is a single core process.
Absolutely! Audio dedicated computers, right? No games or anything else.

If you aim for pure live audio, FOH mixing or whatever, get the best fastest clock single core CPU you can afford (or dual, singles are not that common these days). Multicore is a waste of money and resources.

In a mixing scenario, no real time, then it's different, Get the best multithreading CPU you can get. Server PC architecture is the best for non real time audio processing (AKA: mixing). Xeons and AMD are the best choice at fist instance. AMD gives the best performance for the money. Hi-end Xeons are the best choice, but will break our budgets.

Best of both worlds? An all-round solution? A good cost effective i7... but not the best choice in any of these two scenarios.

In my side I always print my tracks in an Alesis HD24 XR, so my choice is clear: Xeons or AMDs.

Last edited by Snap; 10-16-2013 at 04:40 AM.
Snap is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:08 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.