Need to automate VSTi on/off state and CPU consumption
-
- KVRAF
- 1895 posts since 13 Oct, 2002
I need to actively control CPU consumption by simply shutting down VSTi's that are not being used while keeping them ready to play again with their current settings.
I've run through the entire list of Hosts on KVR, and tried their demos, but the ONLY one that actually stops CPU consumption when a VSTi is muted is Chainer (verified with Task Manager).
You can play along and mute a VSTi, while other VSTis seamlessly keep playing, and the CPU consumption goes down accordingly.
ALL other hosts I've tried keep VSTi's active when muted. Unfortunately, this parameter is not automatable and Chainer's author seems to be MIA since 2002. A shame really, cause Chainer is otherwise a great bullet-proof host.
Perhaps I'm mistaken, and there exists other hosts that do this. TIA for any suggestions.
Breeze
I've run through the entire list of Hosts on KVR, and tried their demos, but the ONLY one that actually stops CPU consumption when a VSTi is muted is Chainer (verified with Task Manager).
You can play along and mute a VSTi, while other VSTis seamlessly keep playing, and the CPU consumption goes down accordingly.
ALL other hosts I've tried keep VSTi's active when muted. Unfortunately, this parameter is not automatable and Chainer's author seems to be MIA since 2002. A shame really, cause Chainer is otherwise a great bullet-proof host.
Perhaps I'm mistaken, and there exists other hosts that do this. TIA for any suggestions.
Breeze
-
- KVRAF
- 12977 posts since 29 Sep, 2003 from Ottawa, Canada
The reason it's not a feature in hosts is because a properly-coded VST will not consume CPU cycles when it receives zero input. With nothing to process, it won't... er... process!
As long as your track is completely silent (automate the mute or volume) the huge majority of VSTs will be effectively disabled. They will NOT, however, be unloaded from RAM.
Try this test: load up an edit that contains some plug-ins. Play it back as normal and keep an eye on your CPU meter to see where it's hovering. Now go way forward in the timeline until after the song ends and there is therefore no audio or MIDI being processed. Press play again and see if the same amount of CPU is being used.
Now, since not ALL plug-ins are coded 'perfectly', and since the host itself requires CPU cycles to work, it might not drop to zero, but it SHOULD drop significantly. If it doesn't, either all of your plug-ins need to be sent back to the coders for more work, or your host is interacting with them in a nonstandard way.
Now, some plug-ins will still consume cycles because they feature functions that are "always-on" and are tasks that are signal-independent.
Greg
As long as your track is completely silent (automate the mute or volume) the huge majority of VSTs will be effectively disabled. They will NOT, however, be unloaded from RAM.
Try this test: load up an edit that contains some plug-ins. Play it back as normal and keep an eye on your CPU meter to see where it's hovering. Now go way forward in the timeline until after the song ends and there is therefore no audio or MIDI being processed. Press play again and see if the same amount of CPU is being used.
Now, since not ALL plug-ins are coded 'perfectly', and since the host itself requires CPU cycles to work, it might not drop to zero, but it SHOULD drop significantly. If it doesn't, either all of your plug-ins need to be sent back to the coders for more work, or your host is interacting with them in a nonstandard way.
Now, some plug-ins will still consume cycles because they feature functions that are "always-on" and are tasks that are signal-independent.
Greg
- KVRAF
- 25042 posts since 12 Jul, 2003 from West Caprazumia
not entirely correct (sorry Greg) - most hosts will reduce the cpu-consumption significantly if the plugin is disabled - if a vsti (synth) doesn't receive midi-notes then it won't consume any significant amount of cpu-cycles - LM is right about this - but if it is an effect which pricesses audio-input instead of midi-notes (or in addition to midi-notes) then some clever host coding is neccessary (e.g. think of a delay that still is processing even if there's no audio-stream coming in) - some hosts can perform this clever coding - e.g. Logic, Samplitude and Tracktion - but most other hosts don't do this - e.g. Sonar, Project5, eXT, Orion etc.Lunch Money wrote:The reason it's not a feature in hosts is because a properly-coded VST will not consume CPU cycles when it receives zero input. With nothing to process, it won't... er... process!
As long as your track is completely silent (automate the mute or volume) the huge majority of VSTs will be effectively disabled. They will NOT, however, be unloaded from RAM.
Greg
but it seems you are really speaking about instruments and regarding this Greg (LM) is right -
as long as it doesn't receive midi-input it won't use many cpu-cycles....
-
- KVRAF
- 12977 posts since 29 Sep, 2003 from Ottawa, Canada
Hrm. I could be getting mixed up between a host feature and the VST spec, then, but I've been told that whether it's implemented or not, a plug-in that follows spec will not consume significant CPU when receiving no signal.
As mentioned, something with signal-independent effects (ie. a free-running LFO) will of course continue to process.
Certainly gives me a chance to investigate, at any rate.
As mentioned, something with signal-independent effects (ie. a free-running LFO) will of course continue to process.
Certainly gives me a chance to investigate, at any rate.
-
- KVRAF
- 2058 posts since 23 Sep, 2004 from Canada
Ableton Live 5 .
- KVRAF
- 25042 posts since 12 Jul, 2003 from West Caprazumia
set an eight bar loop in both Tracktion and eXT with eight audio-tracks and load one instance of S.I.R. on each track, then load a one bar long sample to bar 1 of track 1 and copy it to bar 2 of track 2, bar 3 of track 3 etc. - you'll find there is a world of difference between Tracktion and eXT - in eXT it will almost kill your cpu as all eight instances of S.I.R. are always running regardless of wether they're processing anything or not...
-
- KVRAF
- 4222 posts since 23 Feb, 2004 from Tucson Arizona USA
Do you have an example of a VSTi that consumes CPU cycles when it is idle, in any host?Breeze wrote:I need to actively control CPU consumption by simply shutting down VSTi's that are not being used while keeping them ready to play again with their current settings.
I've run through the entire list of Hosts on KVR, and tried their demos, but the ONLY one that actually stops CPU consumption when a VSTi is muted is Chainer (verified with Task Manager).
You can play along and mute a VSTi, while other VSTis seamlessly keep playing, and the CPU consumption goes down accordingly.
ALL other hosts I've tried keep VSTi's active when muted. Unfortunately, this parameter is not automatable and Chainer's author seems to be MIA since 2002. A shame really, cause Chainer is otherwise a great bullet-proof host.
Perhaps I'm mistaken, and there exists other hosts that do this. TIA for any suggestions.
Breeze
-
- KVRist
- 49 posts since 7 Jan, 2004
mute doesn't shut down the vsti so cpu stays the same, but if you disable the vsti cpu does go down.Breeze wrote:ZuN, does Project 5 CPU consumption go down when a VSTi is muted? Thanks!
-
- KVRian
- 694 posts since 6 Aug, 2002 from London, UK
I think that you'll need Mute not to completely bypass the VST/i for PDC reasons as much as anything else.
-
- KVRAF
- Topic Starter
- 1895 posts since 13 Oct, 2002
Sure James, all of them do, though CPU use certainly goes up when you start playing. It's only when removed that CPU consumption goes down.james0tucson wrote:Do you have an example of a VSTi that consumes CPU cycles when it is idle, in any host?
For the record, the only two that truly cut CPU consumption for muted VSTis are Chainer and Forte. The remarkable thing about Chainer is that CPU use drops almost immediately, while Forte takes 10 seconds or so to drop and settle. Chainer generally feels a lot more responsive and stable than Forte (Thomas where art thou?).
I've tried almost all other commercial Hosts except Ableton and Samplitude and they, as well as all the freeware ones, keep the VSTi rolling even when muted.
Breeze
-
- KVRist
- 157 posts since 15 May, 2005
In SX BYPASSING the effect or VSTi stops it processing, but keeps the delay that it presented to the host, so the bypass can be automated without messing up PDC.
-
- KVRAF
- 4222 posts since 23 Feb, 2004 from Tucson Arizona USA
I'm not seeing this kind of behavior in eXT or FLS with any of the VSTi's I use, at least not to any significant degree. CPU usage is only increasing with the number of active voices.Breeze wrote:Sure James, all of them do, though CPU use certainly goes up when you start playing. It's only when removed that CPU consumption goes down.james0tucson wrote:Do you have an example of a VSTi that consumes CPU cycles when it is idle, in any host?
I really was asking for a specific example of where this is a problem. Your reply that they "all do" doesn't match the experience I see in front of me at this moment.
Maybe you're talking about FX not instruments? But I can load up a VST delay for instance, and enable the effect, CPU goes up; disable the effect, CPU goes back down. Maybe you have in mind a different magnitude of consumption?
-
- KVRian
- 709 posts since 16 Dec, 2005 from Novato, California, USA
Some vstis have built in FX, they will likely consume CPU while not playing.
So look for expensive internal FX (reverbs) in your synths.
Jonas
So look for expensive internal FX (reverbs) in your synths.
Jonas
