FR theme: Performance/memory issues
-
- KVRist
- 87 posts since 29 Nov, 2006
Seems to just be tied in with the undo-redo buffer.
When you delete an instrument, it and its settings are still in the undo buffer. If you add something like Sampletank, memory usage goes up around 30MB. Deleting it doesn't free up the memory.
If you add Sampletank and then "undo", it still doesn't free up the memory, in case you "redo".
If you add Sampletank, then "undo", then add some little thing like SmallQoo, the buffer is purged of the Sampletank data and the memory usage plummets.
I guess EXT1 doesn't do this because there's no "undo". I suppose this is sort of a 'garbage collection' issue, rather than memory leak.
When you delete an instrument, it and its settings are still in the undo buffer. If you add something like Sampletank, memory usage goes up around 30MB. Deleting it doesn't free up the memory.
If you add Sampletank and then "undo", it still doesn't free up the memory, in case you "redo".
If you add Sampletank, then "undo", then add some little thing like SmallQoo, the buffer is purged of the Sampletank data and the memory usage plummets.
I guess EXT1 doesn't do this because there's no "undo". I suppose this is sort of a 'garbage collection' issue, rather than memory leak.
-
- KVRist
- 352 posts since 26 Jun, 2006
that's what I thought too. so there should be an undo buffer on the harddrive, having a list of events/setups that can be restored during the production process.Loonie wrote:Seems to just be tied in with the undo-redo buffer.
that way the RAM is unaffected and you can go to step 2 or 15 or back to 7.
reloading a 150MB instrument into your sampler wouldnt take that much and wouldn't kill the ram.
that way you can go back to set ups in your song, that you dismissed first or forgot to save.
but that's just how I see it and I don't know about the programming part of it.
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
interesting find!!!!Loonie wrote:Seems to just be tied in with the undo-redo buffer.
When you delete an instrument, it and its settings are still in the undo buffer. If you add something like Sampletank, memory usage goes up around 30MB. Deleting it doesn't free up the memory.
If you add Sampletank and then "undo", it still doesn't free up the memory, in case you "redo".
If you add Sampletank, then "undo", then add some little thing like SmallQoo, the buffer is purged of the Sampletank data and the memory usage plummets.
I guess EXT1 doesn't do this because there's no "undo". I suppose this is sort of a 'garbage collection' issue, rather than memory leak.
so by reading this it seems XT2 is acting how it should?
how do other hosts that let you reload a deleted vst by using the undo command?
(IM-uneducated-O) the current way XT2 is doing it is the quickest way?
Subz
- KVRAF
- 25008 posts since 12 Jul, 2003 from West Caprazumia
nonono - if you delete an instrument and undo this later on it should simply be reloaded - this of course takes longer but it's utter madness to not relase the ram just because you might want to undo the change later on.djsubject wrote: so by reading this it seems XT2 is acting how it should?
-
- KVRist
- 87 posts since 29 Nov, 2006
djsubject wrote:interesting find!!!!
so by reading this it seems XT2 is acting how it should?
how do other hosts that let you reload a deleted vst by using the undo command?
(IM-uneducated-O) the current way XT2 is doing it is the quickest way?
Subz
Not quite. It's a functional undo-redo system, but inefficient. I tried a couple of experiments with SX2 and Live6. SX2 frees up the memory when a VST is deleted, but the VST adding and deletion is outside of SX2's undo-redo system, so it's kind of moot. Live6's VST system is within its undo-redo system, and it will actually unload the instrument from memory when a 'delete' or 'undo' is performed.
So it's possible the undo-redo system could be stored in a file, rather than in memory, or it's also possible the system removes the instrument but remembers its settings, and upon redo just reloads the instrument and puts everything back.
To be honest, the current behaviour doesn't concern me, as ext2 has, for a beta, thus far proven to be extremely robust, which implies Jorgen is very carefully crafting and scrutinizing every element of the software during its creation. He clearly meets all the criteria for a good programmer.
-
- KVRAF
- 3475 posts since 6 Oct, 2001 from europe-norway-oslo
When deleting a VST, what I can do is undload it from but save the settings to ram instead.
on the list
cheers
jorgen
on the list
cheers
jorgen
-
- KVRian
- 659 posts since 28 Sep, 2004
But then wouldn't you be using up RAM uselessly?jorgen wrote:When deleting a VST, what I can do is undload it from but save the settings to ram instead.
on the list
cheers
jorgen
Couldn't you just save the settings to disk? Now that I think about it, I guess if it's only the last VST unloaded (or 2, or 3) that would work, but if the settings of every VST that was ever unloaded from the project are in RAM, it seems like that would be not so good... Just thinking out aloud, but personally I would like an unloading of a VST to leave no footprint whatsoever
-
- KVRAF
- 3475 posts since 6 Oct, 2001 from europe-norway-oslo
yupIt would be like a .fxp/.fxb in size
cheers
jorgen
- KVRAF
- 25008 posts since 12 Jul, 2003 from West Caprazumia
yes, please!jorgen wrote:When deleting a VST, what I can do is undload it from but save the settings to ram instead.
on the list
cheers
jorgen
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
-
- KVRian
- 930 posts since 21 Mar, 2006
Ah, good to hear that it's such a trivial thing. I was beginning to fear it was a memory leak of some sort, but it wouldn't be quite so predictable then, eh? 
Would writing the settings to ram rather than disk really make for a noticeable increase in speed? Not that it'll take up a lot of space though, so it's a bit of a moot point.
Would writing the settings to ram rather than disk really make for a noticeable increase in speed? Not that it'll take up a lot of space though, so it's a bit of a moot point.

