Vienna Symphonic Library Forum
Forum Statistics

190,087 users have contributed to 42,705 threads and 256,979 posts.

In the past 24 hours, we have 3 new thread(s), 39 new post(s) and 34 new user(s).

  • VEP & Cubase 6 CPU & threads

    Hi,

    In preparation for a probable migration from Logic to Cubase, I'm doing some tests with VEP and Cubase 6 Trial on my 2009 Mac Pro. I stumbled upon a weird CPU behaviour and I'm looking for comments.

    As was mentioned somewhere already, the idle CPU load with Cubase 6 on OSX is *way* above what one's used to with Logic, although I don't know how it impacts real-world heavy sessions yet.

    The metaframe I use has two VEP instances with 96 audio ports and 8 VST3 MIDI ports per instance. As soon as the instances are connected to the plugin, CPU usage goes up in a spectacular fashion. But I just don't understand the relationship with the "Multiprocessing threads per instance" parameter.

    Here's what I found when changing this parameter (my machine is a Mac Pro 2009 Quad 2.66 with 16gb od 1066MHz DDR3 RAM, hyperthreading enabled):

    VEP Threads --- Connected CPU% (VEP/Cubase) --- Disconnected CPU% (VEP/Cubase)

    1 --- 150/80 --- 23/67

    2 --- 185/82 --- 23/67

    4 --- 235/84 --- 23/67

    8 --- 256/85 --- 23/67

    I don't understand why the CPU usage is going up when the multiprocessing is distributed *better* (i.e. among more threads). I'd also like to know if this high idle CPU usage is normal with Cubase, and why it is so.

    Thanks a lot.


  • Whilst I can't make any comment about the threads/CPU issue, because I don't know anything about it, I can comment on the seemingly hight CPU load, when compared with Logic. In order to do a fair comparison you would need to put all your Logic tracks into Live mode. That's what Cubase does.

    The big test is how do you get on when you are working. With the Logic hybrid engine you will get seemingly better performance up to a point, but once you enter the "one core goes wild" territory, I think that things might work better in Cubase. I am only passing on what Cubase/Logic using friends have told me, but there is a sweet spot in workflow, and you may find that what worked well in Logic doesn't in Cubase. However, being able to use way fewer instances may make up for this.

    Hopefully some of the other Mac Cubase users on the forum will be able to jump in and tell you the best way to set up Cubase for this OS.

    DG


  • Thank you, I'll be waiting for further comments. The "one core goes wild" is indeed one of those territories I hope to leave behind... :) I'll stress-test the setup in more detail and report back if it can be useful to other folks.


  •  Well, just give me a shout if there is anything I can do to help.

    DG


  • Well, in case others are interested in a rough Cubase/VEP benchmark on a two-year old Mac Pro, I did a very non-scientific experiment with the template I use regularly: 17 assorted VSL winds & brass + 20 legato divisi sections of LASS playing one long note all together, with 12 assorted VSL percussion on top + NI piano playing a repeated note, everyone sending to a reverb, a couple of groups etc, plus two stock Omnisphere pads added inside Cubase itself for good measure. That's more than 50 simultaneous VI Pro/Kontakt patches.

    I *never* play all of that simultaneously.

    At a 128 samples buffer and 2 threads per each of the 2 VEP instances, I got 400% CPU on VEP and 180% on Cubase, and it was glitch-free. I started to get cracks when I added a third Omnisphere track. Everything was streamed from the same 7200rpm drive. Looks like SSD won't be an absolute necessity after all... :)

    Pushing the VEP thread count to 4 per instance resulted in around 600% for VEP (!) and 185% for Cubase, almost at the limits of the CPU. It was still glitch-free but a bit risky.

    I still can't figure out why the CPU usage skyrockets when adding threads to VEP instances.

    Cheers.


  • Same issue here and I don't understand why more cpu usage when ading threads in VEP in a Mac Pro 8 cores 2008. Can you take a look at that please, thank you very much.


  • Hi Talino,

    [quote=Talino]I

    I have noted the same thing. Which monitor did you use? OsX activity monitor give 82% CPU when VEP monitor gives 21% CPU when song is not playing. I assigned 7 threads (8 total) on a single VEP instance with MIR.

    Concerning Omnisphere, did you check the Streamimg settings under the system tab? Otherwise, omni could take to much RAM. But that should not have any impact on CPU.


  • Just to be clear: the threads preference in VE Pro is a per instance setting. Ideally you want at most as many VE Pro threads as you have cores. Note that this means total threads, so if you have 2 instances and threads preference set to 4, you will have 8 threads in total. When you're also running a DAW on the same machine, you may want to reduce the total amount of threads by at least one in VE Pro, depending on how much (parallel) processing is happening in the DAW. If the total amount of threads in VE Pro exceeds your amount of cores, you will get a thread synchronization related performance hit, no matter what.

    The VE Pro manual provides simple guidelines:

    "You may change the number of used threads in the Multiprocessing drop-down menu in real-time, and each Vienna Ensemble PRO instance will use the specified number of process threads. So 1 instance on an 8 core computer should use 8 threads, 2 instances should use 4 threads, and so forth. Ideally you should have as few threads as possible while still using all your cores. If you're also running your host sequencer on the same system as the running instances, it might be wise to reserve a core for it.

    To keep it simple, set the amount of threads to your amount of cores. If you run into performance issues, lower the amount of threads."