SynthMaker

Unloading VSTi won`t release all memory.

Archive · 2009 6 old posts

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].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.