From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Tzarls ·
I`ve noticed this using the task manager.
I load nuendo. About 100MB of memory used.
Then I load a project - around 400MB.
I load my VSTi (without samples). - around 412MB.
Then I unload my VSTi - memory goes to around 404 MB.
I load again my VST - around 416 MB.
The I unload again. - around 408 MB.
So everytime I unload my VSTI, there are about 4 MB that are not released. And that effect is cummulative.
The same happens in Sonar 6. And there even turning the VSTi on and off results in some memory not being recovered. And, when doing this repeatedly, Sonar finally crashed to the desktop.
Tzarls ·
And in both Sonar 6 and Nuendo 3, if I unload my VSTi without first unloading the samples (clearing arrays), no memory will be recovered. Which makes me think that maybe those 4MB not recovered when unloading the VSTi are from other arrays not cleared.
philter5 ·
i don´t know if i am right but what about the "clear audio" component?
i´ll have a look at the component reference right now to check this
and then i´ll try to reproduce this problem in ableton.
Tzarls ·
I think clear audio stops the audio stream, but has nothing to do with memory usage. I also think the problem is the fact that arrays use memory, and when you close (unload) your vst, the memory used by those arrays isn´t being released. I´ll make some tests and post an osm.
Tzarls ·
Just made some short tests. It seems like every plugin out there leaves some memory non-released - I´ve found that some of Steinberg´s own VSTis leave around 500kb non-released.
I created an empty module and exported it as VSTi and ended with 30 - 50 Kb of non-released memory. So a small amount of locked memory seems to be kind of normal.
I´ve already found that if you don´t manually clear a wave array before unloading your vsti, it won´t release the memory used by those samples. This is a problem. I think the same happens with float or string of int arrays - I´ll make some really big arrays to test this.
Now, how do other samplers do to release the memory used by their samples? I´m quite sure there is something like a "on exit" function that alerts the vst when it is being unloaded so it can perform certain actions before finishing. Such a primitive would allow us to do the same thing and recover memory, and avoid memory related crashes with our SM made vsts.
I´m bumping this thread (On-Exit trigger)because it asks exactly for such a primitive.
Tzarls ·
Some more tests. Create a VSTi with the attached OSM. Load it in your DAW. Use Task Manager to monitor memory used by DAW. Load a series of bitmaps (if possible large ones, >10MB).
First thing to notice is that loading a new bitmap won´t release the memory used by the previous bitmap - memory usage will just increase and increase everytime you load a new bitmap.
When unloading the vsti, only a small amount of memory is released. The same happens with wave arrays, if you don´t clear the array before unloading your vsti, memory used by the samples won´t be released.
Wrote something here? To have a post removed or your name hidden, write to [email protected].