# Huge memory footprint of complex patches when fully purged! (Spitfire & ProjectSAM)



## brett (May 26, 2015)

Hi

I've just updated my template, swapping out older versions of patches for newer versions. ie, I'm now using the v1.41 Symphobia1/2 patches rather than v1.3. Likewise I'm using the latest codebase versions of Spitfire Sable, Albion, Loegria and Percussion. I noticed that my RAM footprint is now huge.

I then compared a fully purged version of my old template compared to my new template and there's a 14GB difference! This got me to digging, measuring just how much various kontakt instances were holding and I discovered that the 1.41 versions of ProjectSAM were taking up much more room than the v1.3 patches. My Spitfire Sable divisi setup was taking up over 13GB fully purged! (I haven't compared RAM usage of new and old Sable patches yet).

I'm surprised that purged patches in modern heavily scripted libraries now take up so much space. So much so that I'm considering dropping back to older versions where functionality isn't compromised too greatly. Or separate patches rather than combined patches. 

Can anyone confirm this? I'm on Windows 7, Cubase 8.0.10, using Kontakt 5.5.0

Cheers


----------



## brett (May 26, 2015)

Update:

I'm sure this is a scripting thing. Newer versions of older patches that incorporate more fancy scripting (and thus features) take up more RAM when fully purged. Most of us with large templates work at least partially purged so this is significant.

However, there is no hard and fast rule here, but rather it is dependent upon how the patch is coded. The efficiency of the script? Here are a bunch of examples

Heavyocity: The original 'dramatic evolved 01' patch from Evolve R2 takes up 10 MB RAM purged, but the upgraded version using the DM307 codebase takes up ~100MB purged. 10 times more RAM

ProjectSAM: v1.3 'Woodwinds Ensemble' takes up ~20-30 MB purged but the v1.41 version takes up 4-5 times that. There's no new sample content, just different scripting

In general, combined (often keyswitched) patches take up less of a RAM footprint (purged) than the equivalent individual patches. This is the case with Spitfire Albion and Sable for example. However there are exceptions here too. The combined V1 legato performance pallete (vol1+3) takes up a whopping ~400Mb RAM fully purged but the 5 individual legato patches making up the combined patch take up ~150 Mb less RAM. While 150 Mb may not sound like much, at 3 divisis for each section that's 3 x 5 x 150MB = 2.25 GB saved just by using separate patches rather than the combined.

Food for thought...

Love to hear people own experiences


----------



## mk282 (May 27, 2015)

Replied: http://www.native-instruments.com/forum ... st-1398632


----------



## brett (May 27, 2015)

@mk282, you're ED? Thanks mate. Makes sense. The sable part of my template takes up over 13 GB purged which is huge (3 x each section for divisi writing, although as I type this I really only need to do this for the legatos and v1 which has extra articulations I can 'give' to v2, so I can slim down there for a start). I'm going to try Blake's tips RE removing unused mics and will report back with the results

As for the ProjectSAM stuff, I'm going back to the v1.2 individual patches for now.


----------



## Guy Rowland (May 27, 2015)

Yes, I've known for a long time that the non-sample related memory use is hugely significant, but must admit the scale of it is pretty surprising. ED / mk282 - you mentioned in the NI thread that you can look at the non-sample related memory use in Montor / Engine, but clearly this isn't the whole picture either. Picking a patch at random, I loaded Legato Ens Bcl+Cbn oct from Symphobia 2. Task manager reports 145mb for an empty instance of K5.5, this rises to 452mb with the patch loaded on my default buffer of 18kbps, giving a total real world RAM use of 307mb for this patch. Sample memory is 58mb, and monitor / engine reports a total memory usage of 69mb for the patch - Sample management memory of 8mb and voice memory total of 6mb (not sure how that adds up to an additional 11mb, but there we go).

So real world is reporting a whopping 249mb above what Kontakt reports (total memory use, not just samples). Does that sound right to you mk282? 

Remember - that's just one patch. We have hundreds of patches in our templates. I must confess I'd take some GUI simplicity as a trade off over RAM use in general, if that's really the culprit here.


----------



## mk282 (May 27, 2015)

Graphics and group/modulator/FX overhead is not reported anywhere... except in Task Manager, really.


----------



## brett (May 27, 2015)

Guy Rowland @ Wed May 27 said:


> I loaded Legato Ens Bcl+Cbn oct from Symphobia 2. Task manager reports 145mb for an empty instance of K5.5, this rises to 452mb with the patch loaded on my default buffer of 18kbps, giving a total real world RAM use of 307mb for this patch.



You using v1.41 patches Guy? Now try loading 1.40, or even more starkly the v1.2 versions and compare.

Don't get me wrong, having multiple mics and fancy GUIs / filters / keyswitching etc is great and what many users have been long requesting. However until now I had no idea of the cost

(I recently picked up the HO Diamond series so yeah, you can see where my sudden focus on RAM consumption is coming from ... )


----------



## Guy Rowland (Jul 26, 2015)

brett said:


> You using v1.41 patches Guy? Now try loading 1.40, or even more starkly the v1.2 versions and compare.
> 
> Don't get me wrong, having multiple mics and fancy GUIs / filters / keyswitching etc is great and what many users have been long requesting. However until now I had no idea of the cost
> 
> (I recently picked up the HO Diamond series so yeah, you can see where my sudden focus on RAM consumption is coming from ... )



Very very belated reply...

I spent a bit of time today trying to get to the bottom of all this. I've been building a new template for, well, many many months (I hate working on templates, I always get bored and make do with what I have, just adding new bits adhoc). As I was adding some of the libraries I've acquired in the past couple of years, the RAM was skyrocketing far more than I'd have expected. And it was the Symphobia 2 / Lumina patches that were the thirstiest, I have to say, and also held up the loading process the longest. I did some sums, and I reckon that approx 40 purged patches from these two libraries were using approx 7gb.

I've asked PS about this as indeed my earlier version of S1 is fantastically lean and mean. But in the meantime, I think the solution for these patches (and multis) is to get them out of VE Pro and use Cubase disabled tracks. It's not as neat as I'd like, mostly because that feature is still a little buggy in C8 pro. You need to reset the midi input every time, and if you use multiple outputs, it nags you when loading disabled saying it can't connect them. But I did a few tests there, and each disabled instance of Kontakt with a legato S2 patch in it uses 10mb, so that's a saving of 6.5gb in the template in my case, and probably even more important I'd guesstimate a couple of minutes off the load time.


----------



## zacnelson (Jul 26, 2015)

Thanks for the info gents, very helpful and informative


----------

