Vienna Symphonic Library Forum
Forum Statistics

180,797 users have contributed to 42,141 threads and 254,364 posts.

In the past 24 hours, we have 1 new thread(s), 7 new post(s) and 74 new user(s).

  • VEP5 RAM and CPU best practices...

    I feel like there should be a hard-and-fast-rules sort of manual for best practices with regard to running large templates.  And I'm curious what others' experiences are.

    Currently I have a very large template being run from a Win7 Slave machine into a Mac machine.

    • Slave = Win7 (newest update) with 48 GB RAM and 12 Core i7
    • DAW = Cubase 7.0.6 (Mac 10.8.5)
    • VEP = 5.2.12808
    • Kontakt = 5.3

    I'm running my entire template from only 3 instances of VEP within the Server.  Each instance constains:

    • 8 MIDI Ports OUT
    • 10 Stereo Audio Ports OUT
    • 4 Threads allocated per Instance.  (Sincer there are 3 instances and 12 Cores available)

    So, questions...

    • Does the high number of Audio Outputs per Instance raise CPU and/or RAM use, and if so, how significantly?
    • Does the high number of MIDI OUT Ports raise CPU and/or RAM use, and if so, how significantly?
    • Does the low number of VEP Instances help save on either CPU or RAM use?
    • Is it really best to turn off Multi-threading from within Kontakt if it is being utilized as plugins inside of VEP?  (I ask because I've tried it both ways and witnessed no differences.  Part of why it seems it might be smart to keep multi-threading on in Kontakt is that there are some Kontakt instances which may be HUGE,... such as LASS Violins, for example, which uses more than 2 GB within a single Kontakt; this seems like, if multi-threading were to be turned off, it might place a very large burden on just 1 core.)

    Depending on the answers to the above...

    • If additional VEP Instances do NOT add much burden to CPU or RAM, but additional Audio OUTs or MIDI Ports do, then it would make sense to have *more* VEP Instances broken up into smaller bits.
    • If additional VEP Instances DO add a significant burden on CPU or RAM, but additional Audio OUTs or MIDI Ports don't, then having *fewer* (but larger) VEP Instances would be best practice.

    So which is it?

    Any answers are much appreaciated.


  • Sometimes when I run into a performance issue, I find that the way I distribute 'threads per instance' - per viframe instance - remedies it.
    If you have things [LASS] that seem to use more resources than the rest of your template, I would suggest isolating it and devoting more cores to it via VEP rather than expect Kontakt's handling of it inside VEP to do that.

    I don't think four instances vs one instance of a viframe is significant compared to a lot more audio outs. I tend to keep audio outs down to four or five stereo outs and if I was running into a wall I would reduce it some more. VEP with automation in the DAW host is a good way to reduce the mixer in the latter host as a submixing routine, really anyway. I tend to believe I need the flexibility of say four outs for certain reasons but I could disabuse myself of the notion if needed. I don't know why the number of MIDI ports would be so meaningful to CPU etc.


  • Interesting.  So you're saying it's better to have more VEP Instances with fewer OUTs each, than fewer instances with more OUTs?


  • More instances per se, no. I tend to use three or four, but part of it is organization. If I have a lot of FX such as amp sims with elaborate automation, I isolate that and it's likely to get more cores. If you think LASS is heavier, do isolate that and see if giving it one or two more cores than the liter instance does anything. My latest project used two fairly large kits in BFD2 and I ended up devoting 6 cores to it.

    But the amount of audio [going either direction] is going to add up and slow performance and unless you really do need that many stems, using less outputs is a good way to go. It's a good way to focus your mixing mind as well, I think.


  • You have each instance as though equal load and I would question if that is really true.


  • I've had a somewhat opposite experience from civilization3.  I was using about 20 ports across three VEP instances with DP8 on OSX 10.6.8, and VEP5 on Windows 7 machine.  I found that by going down to one instance, I was able to stream way more audio channels, with less cpu load in DP.  Sessions operated more smoothly and I am able to have a larger template.  Within the single instance of VEP5, I raised the CPU count two just below the maximum per instance (10 threads).  Just to save a couple threads for Windows. 

    From what I understand, VEP is very good with multi threading, or at least much better than Kontakt.  If you have particularly demanding libraries, I would open more instances of Kontakt/Play within one Vframe.  So instead of loading 16 instruments per instance on Kontakt, I would load 6-8 for demanding libraries like LASS.  Same goes for Play and Hollywood Strings/Brass.  Make sure to uncheck Kotakt's Multi CPU threading if you do this. 

    DP seems to really like it when only using one instance.  Ultimately it depends on what your choke point is.  For me, my PC is pretty beefy (i7 3930k with 32gb ram), so choke point is the way DP handles processing on a 5yr old Mac Pro.  Each time you open a VEP connection, the plug in has to decipher all of the info coming over via LAN.  Based on my experience, having three open connections to decipher is harder for the CPU than one.

    My old template had 20 ports of midi, three instances of VEP, and I would choke out after about 10 or so audio channels.  With consolidated template of one VEP instance, I am running about 24 ports, 36 audio channels, and more breathing room with the CPU.  I am really very happy with VEP multi threading capability and I hope they continue to expand it.