EXS in L8 versus L7: no more 3.5 GB RAM limit (with screen grabs)

okay

i’ve done some testing of EXS in Logic 7.1.1 and Logic 8. while all of this testing originated in the “is logic 64 bit” thread, i’ve started a new thread to post these results since, honestly, i really have no idea where to post in that old thread anymore. suffice it to say that Orren and Rohan are absolutely correct -- if we use Virtual Memory in EXS in Logic 8, we are no longer limited by Logic's 3.5 GB RAM limit for EXS and we can now use all of the RAM in our computers with EXS and Logic.

a couple of notes:

1. all songs were created and/or opened on a fresh system directly after a reboot. i never reopened a song or switched songs without a reboot in between. and all testing was done on my dual G5 with 8 GB of RAM, OS 10.4.10, Logic 7.1.1 or Logic 8.

2. i never had any programs other than Logic, Activity Monitor, and Grab open.

3. all testing was done with the EXS Virtual Memory option Active and set to “disk drive speed: slow” and “disk recording activity: extensive”. one of the confusing things in reporting this testing has always been that both EXS and Activity Monitor have a thing called “Virtual Memory” and they are not the same thing. i use Activity Monitor VM as my “how much RAM is this program using” reference because it is the one consistent figure i can find: when Logic hits 3.55 GB of Virtual Memory space in Activity Monitor, it crashes. but Activity Monitor’s Virtual Memory figure is a completely separate thing from the EXS Virtual Memory option. so from here on, when i refer to VM, it is the figure as reported by Activity Monitor. please know that the EXS VM option was active for all testing reported here.

so i started by creating a song in Logic 7 and i added EXS instruments (and ONLY EXS instruments) to the song until i was about to hit the 3.5 GB Virtual Memory limit. as you can see in this screengrab...

User uploaded file

...once i had loaded 18 EXS Vienna Symphonic Library instruments, Logic’s Memory figures in Activity Monitor were:

Logic Pro 7.1.1

Real Memory: 3.08 GB
Shared Memory: 47.4 MB
Virtual Memory: 3.42 GB

the system was using 4.15 GB of RAM, leaving 3.85 GB of RAM free. when i tried to load a 19th EXS VSL instrument, the program crashed.

so i then rebooted and opened this same song in Logic 8. as you can see in the screengrab, the memory figures as reported for Logic 8 are very different:

User uploaded file

Logic Pro 8

Real Memory: 1.94 GB
Shared Memory: 562 MB
Virtual Memory 2.45 GB

Logic’s Real and Virtual memory figures are much smaller, but the Shared memory figure is much larger. also, the system is using almost the exact same amount of RAM: 4.13 GB (leaving 3.87 Free).

i then proceeded to add EXS instruments (and ONLY EXS instruments) to this song (it has a new name because i didn’t want to save over the original song) until the System RAM was almost all used. as you can see in the following screengrab, the song now has 32 EXS VSL instruments loaded and the system is using 7.68 GB of RAM.

User uploaded file

what’s interesting is that despite all of the added EXS instruments, Logic’s memory figures have seen little change. they are:

Real Memory: 2.12 GB
Shared Memory: 571 MB
Virtual Memory: 2.62 GB

and while Activity Monitor isn’t showing a process that is responsible for storing the EXS samples, all 14 of the new EXS instruments are playable (as are the original 18).

so clearly what Rohan and Orren reported about EXS in Logic 8 is true -- we can now load/stream more instruments in EXS in Logic 8.

to test further, i removed a couple of instruments from this song so that i wouldn’t be running quite to the edge of my system RAM, saved it, rebooted and reopened the song. as you can see in this screengrab...

User uploaded file

there are now 28 EXS instruments open and Logic’s memory figures are reported as:

Real Memory: 2.07 GB
Shared Memory: 562 MB
Virtual Memory: 2.52 GB

The system is using 6.75 GB of RAM, leaving 1.25 GB free.

so then i added 7 Altiverb plug ins to 7 channels in Logic 8 (different settings for each altiverb instance so they were each using their own RAM).

User uploaded file

as you can see, not only has the System used more RAM, but Logic’s memory figures have increased as well because Altiverb is loaded into Logic’s RAM. Logic’s RAM figures now are:

Real Memory: 2.63 GB
Shared Memory: 582 MB
Virtual Memory: 3.15 GB

so i then proceeded to add two more EXS instruments to this song and you can see that the System is now using a lot more RAM (around 750 MB more RAM) but Logic’s memory figures have remained almost the same:

Real Memory: 2.65 GB
Shared Memory: 587 MB
Virtual Memory: 3.16 GB

User uploaded file

and, of course, all 30 EXS instruments are playable. how well they will perform in real world use remains to be seen. but they all work.

finally, as near as i can tell, Logic 8 doesn’t let EXS have its own memory space until Logic hits around 1.75 GB of Virtual Memory (as reported in Activity Monitor). before that point, it appears to me that Logic keeps EXS “inside” the Logic memory space. the “real” and “virtual” memory figures for Logic continue to rise as EXS instruments are added and the “shared” memory figure for Logic stays at around 40 MB.

but after 1.75 GB of VM, the “shared” figure starts to rise with each instrument until Logic hits around 2.4 GB of VM, at which point, all EXS appear to be loaded into non-Logic RAM because the “used” System RAM increased but all Logic figures remain almost the same. (i’m sorry if describing this is confusing -- i’m doing the best i can)

anyway, i apologize for the long post, but i wanted to clarify as best i could what the state of EXS is on Logic 8 for anyone still curious.

while i certainly make no claim to know how or why this is happening, i can say that on my system, what Rohan and Orren have reported is correct: EXS in Logic 8 is no longer limited to Logic’s 3.5 GB RAM limit so long as you have the EXS Virtual Memory option active (if it isn’t active, the old RAM limit remains).

thanks to all who helped get to the bottom of this. i hope this post is helpful in demonstrating what EXS can now do in Logic 8. if not, well, i tried. 😉

cheers

Posted on Sep 18, 2007 12:49 PM

Reply
103 replies

Sep 19, 2007 9:56 AM in response to Ivan Clarke1

not in the same way the exs currently does. but kontakt has its own disk streaming (DFD) stuff. i think you will really only see the benifits with extra RAM with the EXS. you would probably be better off upgrading you drive system to use kontakt more efficiently. maybe a SATA RAID system or something like that.

all this giving me an inferiority complex. my system is an absolute toy next to what we are all talking about....8-core computers....SATA RAIDs....mega giga RAM.

i'm off to bully a small child.

Sep 19, 2007 10:08 AM in response to Rohan Stevenson1

"i think you will really only see the benifits with extra RAM with the EXS."

In another post you just said that the ability of third party plugs to use more ram is available already. Seriously, where are you getting this information? No offense, but it sounds like you're just making wild guesses about this stuff.

Kontakt is just a different implementation of the same thing EXS is doing. It is disk streaming with the beginning of each sample in ram to avoid a playback delay. So regardless of how well the disk streaming works, a point will be reached where more ram is needed to load more samples, that's true of any sampler plugin.

Kontakt is a perfect example of a plug that needs to support extended ram, whether it comes from 64 bit or from this hack that apple seems to have used on the EXS.

Sep 19, 2007 10:17 AM in response to Mike Connelly

In another post you just said that the ability of third party plugs to use more ram is available already. Seriously, where are you getting this information? No offense, but it sounds like you're just making wild guesses about this stuff.


no, i didn't say that it was 'available' already in the sense that they can do it. please for god sake read orren mertons posts. they really clearly explain what is 'probably' going on. i say 'proably' because some information we have is solid and some is inferred from that solid information. what i mean to say, is that what the exs is currently doing to bypass the memory limit of logic can be done by 3rd party plug-in manufacturers now already. it's not a special thing about logic. at least that is how i understand it, and so far my understanding of this subject has held up (just).

Kontakt is just a different implementation of the same thing EXS is doing. It is disk streaming with the beginning of each sample in ram to avoid a playback delay. So regardless of how well the disk streaming works, a point will be reached where more ram is needed to load more samples, that's true of any sampler plugin.


absolutely correct. and this is how the exs used to work and still does, although now there is a great deal more RAM it can now play around with.

Kontakt is a perfect example of a plug that needs to support extended ram, whether it comes from 64 bit or from this hack that apple seems to have used on the EXS.


absolutely correct again. so what are you waiting for? get on to native instruments!

Sep 19, 2007 10:24 AM in response to Mike Connelly

there is a point that everyone seems to be missing in all of this:

• we don't have any control over what is loaded into RAM and what isn't.

surely, the next stage is to be able to determine what is played back from RAM and what is streamed from disk? for example, you might want to optimize your library in such a way that multivoice instruments wiht long tails such as piano and harp are loaded into RAM where you can get much more value from faster streaming, as opposed to perhaps certain single line instruments which could be streamed from disk without taxing it too much.

or maybe it wouldn't make enough of a difference to matter...

well i am thinking particularly of harp and piano. think about your harp glissandi and how many voices that uses...

you could have the winds streaming from disk and the strings and harp in RAM.

Sep 19, 2007 10:38 AM in response to Rohan Stevenson1

I HAVE been in touch with third party developers!

They say that this is not possible with the current version of Logic and current OS. They have received no new information from Apple that using more memory is possible.

Just to clarify, are you saying apple has provided info to devs about how to use more memory as EXS has? Or are you saying that apple has figured out a hack, not told developers that hack, but developers should just look at the EXS, see that it's possible, then figure out that same hack on their own?

Sep 19, 2007 10:44 AM in response to Mike Connelly

{quote:title=Mike Connelly wrote:}
"i think you will really only see the benifits with extra RAM with the EXS."

In another post you just said that the ability of third party plugs to use more ram is available already. {quote}


You really like picking nits, don't you? 🙂

I think it's very clear from context that Rohan means the technology and coding information that third parties need in order to rewrite their plugs exists now, not that current plug-ins running in Logic 8 can take advantage of it.

Think of it like Jimmy Page making a trademark out of playing electric guitar with a violin bow. Guitars existed. Violin bows existed. But until one violinist convinced Jimmy to try it, and he made it a trademark of Led Zeppelin shows, it wasn't part of the lexicon yet. But that didn't mean that the wherewithal to play guitar with a violin bow did not exist before Jimmy Page.

To put it in context, if you ask a third party "hey, can you code your plug-in to use more than 4GB RAM inside Logic" and they answer "not until Leopard or a 64-bit app," would be like asking a guitarist in 1968 "hey, can you make a sustained bowing sound with your guitar?" and they answer "not until someone designs an Electric Guitar Bow." Sure, that is the most obvious way, and it will make it a lot easier. But that's not to say it can't be done now, if you think outside the box. Or the memory space. Or something. 😉

I realize that without Jesus Christ whispering the actual procedure in your ear, you won't believe it (and even if Christ does, you'd demand a screenshot). My hope is that one of the lurkers on this thread is a developer, who is getting some good ideas from 8Track's tests, from Rohan and my assertions that the tools exist now, will go to the drawing board will wow us all with what he—or she—is inspired to do. 🙂

Orren

Sep 19, 2007 10:51 AM in response to Rohan Stevenson1

Rohan Stevenson1 wrote:
there is a point that everyone seems to be missing in all of this:

• we don't have any control over what is loaded into RAM and what isn't.

surely, the next stage is to be able to determine what is played back from RAM and what is streamed from disk? for example, you might want to optimize your library in such a way that multivoice instruments wiht long tails such as piano and harp are loaded into RAM where you can get much more value from faster streaming, as opposed to perhaps certain single line instruments which could be streamed from disk without taxing it too much.

or maybe it wouldn't make enough of a difference to matter...

well i am thinking particularly of harp and piano. think about your harp glissandi and how many voices that uses...

you could have the winds streaming from disk and the strings and harp in RAM.


Bingo!

Sep 19, 2007 11:21 AM in response to Orren

"I think it's very clear from context that Rohan means the technology and coding information that third parties need in order to rewrite their plugs exists now, not that current plug-ins running in Logic 8 can take advantage of it."

That's what I assume as well. Which is why I don't get why he said that a plugin like Kontakt wouldn't see a benefit from updating to this new thing.

"To put it in context, if you ask a third party "hey, can you code your plug-in to use more than 4GB RAM inside Logic" and they answer "not until Leopard or a 64-bit app," would be like..."

I get your point...but Rohan insists that the guy he's been in touch with HAS been given this info by apple. I don't doubt that it's possible, I just think that apple should pass along that information if they haven't. And I've been told by developers that they haven't, and you seem to agree with that. I just take issue with Rohan insisting that this info has been passed on to developers and that apple doesn't need to do anything now, that they don't need to give third parties anything else to do this.

There isn't really a reason for apple to intentionally withhold information that would let third party plugs run better, is there?

Honestly, I don't give a rat's arse about "proof". I just want apple to make this information available to third parties so they can take advantage as well. And the third parties I've been in touch with haven't heard anything about this from Apple. You're in touch with developers, right? Have they heard anything?

Sep 19, 2007 11:30 AM in response to Mike Connelly

That's what I assume as well. Which is why I don't get why he said that a plugin like Kontakt wouldn't see a benefit from updating to this new thing.



mike you are not reading my answers very well... i was responding to ivan clarke who was wanting to know if kontakt would do it now! well we both know it can't because it has not implemented the changes necessary to pull off the exs trick. dear lord is it really that hard? maybe i am not being clear enough...

at this stage, adding memory if ALL you were using was kontakt would result in no benefit. that's because of the old limitations.

IF

kontakt update their plug-in then YES it would be beneficial to have the extra RAM. but i thought ivan clarke was talking about now!

Sep 19, 2007 11:36 AM in response to Mike Connelly

but Rohan insists that the guy he's been in touch with HAS been given this info by apple


no mate i DID NOT say that. though to be as fair as i can be to you i can understand that that is what you inferred.

i said they had the information needed to do it now. i did not say apple had been in touch and told them what to do. i said that my contact knew about this, or at least he had understood what was going on. if he could, they can.

Sep 19, 2007 11:49 AM in response to Rohan Stevenson1

Aah, I misunderstood that as well, I thought you said your source had been briefed by apple or something. Sorry for any misunderstanding.

So let me make sure I understand this right.

Apple hasn't released any new info recently.
The guy you're in touch with was able to figure out how they did this and thinks it's possible for third party developers to do the same thing.

Am I on the right page now?

If this is the case, then apple should really share this information with developers ASAP. I suppose other developers might be able to figure it out on their own but if Apple has the info why not just share it. I can't imagine why they wouldn't want third party plugin performance to be as good as possible.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

EXS in L8 versus L7: no more 3.5 GB RAM limit (with screen grabs)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.