• Register
  • Help
Results 1 to 8 of 8

Topic: RAM optimization idea

  1. #1
    Senior Member
    Join Date
    Mar 2004
    In a house

    Lightbulb RAM optimization idea

    Hi all,

    I've just read Joseph Burrell's comments on another thread:

    Quote Originally Posted by Joseph Burrell
    Well, let me clarify... I'm on the beta team and the stuff coming is amazing. You have no idea what's in store. Tom is a genius and a madman. There's so much stuff!
    I just had this idea to optimize the use of RAM when using GPO, I don't know if this idea has ever been considered or if it's even technicaly possible but here we go!!!

    When using a given sound in GPO (for example Violin 1 Gagli solo) the samples of ALL the notes of that sound are loaded in the RAM, right.

    The range of the Violin 1 Gagli Solo is from a low G to a high D, it totals 44 different notes/semitones, right.

    My guess is that there are 44 different samples loaded into the RAM, one for each note of the range of that instrument, right (?).

    If that is the case, every instrument you load has it's FULL RANGE loaded in RAM, (44 samples for Violin 1 Gagli Solo, 44 samples for Violin so and so...) right?

    My question is then, how often do you use EVERY NOTE of the range of a given instrument once it's been loaded in RAM??? (I mean use every note at least once and in the case of Violin 1 Gagli Solo this would mean 44 different ones).

    Now here's da crazee idea:

    An Analyze & Selective Loading Function (huh???)

    Let say you have a score/sequence of a FULL orchestra loaded in your sequencer but don't have enough RAM to load ALL the instruments for it

    Well the "Analyze" function could take into account ALL the notes that needs to be played back (of each instrument) for that given score/sequence (obviously not EVERY NOTE of the full range of every instrument).

    Then the "Selective Loading Function" would load in RAM ONLY the samples of the REQUIRED NOTES of every instrument. NOT, for example, the 44 samples of Violin 1 Gagli Solo but, let say, the 12 notes/samples the Gagli violin would need to play in that particular sequence.

    This would optimize the use of RAM by loading only the samples that NEEDS to be played (for that particular sequence).

    How crazy is that???

    Any idea if this is possible ???


  2. #2

    Re: RAM optimization idea

    This doesn't sound crazy to me. It sounds like properly optimized behavior of DFD...demand loading of individual samples. These things can be tricky to tune because of the instantaneous demand they put on the CPU and I/O subsystem. This would speed up the loading of a project and probably reduce total memory requirements at the expense of some CPU and I/O.

    Tom Hopkins, if you're tuned into this thread, is this behavior implemented in the DFD capability?

  3. #3

    Re: RAM optimization idea

    HALion 3 does this - Kontakt does not - it would not be possible with the current Kontakt player to do so.

    In HAL3 it is called RAM Save and does exactly what you are describing.
    Alan Lastufka | www.BelaDMedia.com
    Producer/Artistic Design | Content Producer

    20 Things

  4. #4

    Re: RAM optimization idea

    The latest version of Kontakt does have DFD. Of course, that's not in the GPO player right now.

  5. #5

    Re: RAM optimization idea


    That's not what we were referring to - the new update to GPO will add DFD in the Kontakt player... Here we are talking about a "smart" scan of the material that would DELETE unused notes from Ram - say you have a three note melody out of a possible 44 notes - click RAM save and the other 41 notes are removed from RAM.
    Alan Lastufka | www.BelaDMedia.com
    Producer/Artistic Design | Content Producer

    20 Things

  6. #6

    Re: RAM optimization idea

    Alan is correct. This type of optimization is not a part of DFD in the present version of Kontakt.


  7. #7

    Re: RAM optimization idea

    Oops! Sorry for the misinformation and thanks for the clarification.

  8. #8

    Re: RAM optimization idea

    I don't think it is a crazy idea neither.

    In other environments this is usually referred as "cache". Think of it as a memory management enhacment, or a network protocol addressing cache, or whatever.

    And I don't think it should have much CPU/IO impact neither. Keep in mind that our daily work consists of loading a sequence and working on it over and over (I'm excluding real time performance, of course). This means that the set of notes been played remains more or less constant. This is something a cache can easely handle if properly tuned.


Go Back to forum


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts