Vienna Symphonic Library Forum
Forum Statistics

194,421 users have contributed to 42,920 threads and 257,965 posts.

In the past 24 hours, we have 4 new thread(s), 10 new post(s) and 85 new user(s).

  • VEP and CPU Overload

    Hello everyone!

    First of all, I'm so sorry if there is multiples threads already talking about VEP and CPU use...

    My system:

    I'm using VEPro 7 on Windows Pro on my Dell R610 Server. Knowing that the server owns 256GB of RAM, I worked on a pretty big template both on Cubase 11 on my Mac and VEPro 7 on the server machine.

    The problem:

    Here's the thing, when I connect only 2 or 3 instances with Cubase, everything's working perfectly. (I'm using VST with Kontakt and also the dedicated plug-in from Spitfire Audio). However, when I connect more and more instances (like more than 10), VEPro is using so much CPU and all the sounds are suddenly terrible. It actually sounds the same than if the connection between the server and the Mac was 100 Mbits/s instead of 1 Gbit/s. When Cubase and VEPro are "linked", VEPro shows on every instances that it is using more or less 90% of the CPU. (Which is... A LOT, right?!)

    Question: How can I fix this? I tried everything I could so Kontakt use more RAM and less CPU, but it is still the same... I was wondering if I can change anything on VEPro...

    Is more than 10 instances with more or less 30 Kontakt inputs just a foolish idea?

    On the preferences inside VEPro, the default thread count per instance is set to 2. Is it also wrong knowing that I need (want) more than 10 instances...?

    Thanks a lot folks!

    Archie

    Image


  • last edited
    last edited

    Hi, Arch

    @Another User said:

    Question: How can I fix this? I tried everything I could so Kontakt use more RAM and less CPU, but it is still the same... I was wondering if I can change anything on VEPro...

    Is more than 10 instances with more or less 30 Kontakt inputs just a foolish idea?

    On the preferences inside VEPro, the default thread count per instance is set to 2. Is it also wrong knowing that I need (want) more than 10 instances...?


    * If you mean 30 stereo outs coming back to Cubase, this is probably your problem and it does use CPU kind of to the exclusion of it being otherwise used well. If you mean 30 stereo, or some combo of stereo and mono coming out of Kontakt to VE Pro, this is not likely to be at all difficult with the muscle you're indicating and I suspect you mean the former.

    If it is the former, I would seriously advise a different workflow. "30 stereo outs returned to Cubase" is fixed by stopping that. (Also, your threads per instance count is something you can experiment with.) 

    You may believe at this writing this many outs is necessary, but it is only really necessary if you need 30 stems to mix from. You might need 3 or 4, really. There is a feature in VEP which for me amounted to being able to obviate mixing in Cubase like 99%, and then it's about audio I've committed to: the automation map. In v7, useful (actual) names of parameters are seen by Cubase in a single menu, per instance. So I mix via VE Pro doing that.

    I do tend to commit to audio using one thing, which has long (>20s) tails and is a bit unwieldy, and I've learned to have the Master containing the room/verb in its own output, but 4 per instance, say 3 instances is max for me. In that, 4 total would be enough, I'm grandmothering in older templates.


  • last edited

    Thanks a lot for your reply @civilization_3 ! I've seen you're very active on this Vienna Forum, thanks again for that!

    SO!

    Let's only use my woodwinds instance for some tests. Before, I had until 68 outputs (32 stereo outputs) coming back to Cubase. That means 1 stereo output for each instrument long notes and 1 stereo output for each instruments short notes, and there is a total of 16 instruments in the woodwinds instance. (ensembles, piccolo, flute solo, flutes a2, alto flute, bass flute, oboe solo, oboes a2, English horn, clarinet solo, clarinets a2, bass clarinet, contrabass clarinet, bassoon solo, bassoons a, contrabassoon ; Spitfire Albion ONE + Symphonic Woodwinds) (see 1st attachment)

    Now, as you suggested, I changed my stereo outs, and ALL the *instument* long notes goes to Out 1/2 and *instrument* short notes goes to Out 3/4. (see 2nd attachment)

    And to be honest, I thought it would change everything... Unfortunately, it is not Night and Day. I come from 24.5% CPU usage to 16%. It is already something! But, I mean, only 29.4GB of RAM is only used and Vienna is already using 16% of the CPU. BTW, when I go to the Windows Task Manager, the CPU is only between 1 and 2%...! 😶

    I just wanna ad that I tried to change the multiprocessor support into Kontakt from 0 to 24, there is no significant changes. I also tried to purge ALL the samples, still the same...

    So, I'm wondering how a guy like... JXL can say that only one of his Del R610 with 96GB of RAM can "easily" handle between 1000 and 1400 Kontakt plugins... I'm already using 16 Kontakt plugins with between 5 and 10 instruments inside each Kontakt plugins, and Vienna is already working hard. There must be something... right...? Right...?! 😶

    At this point I think my MacBook Pro using Kontakt plugins directly in Logic would do the same job... 😢

     

    PS: I tried to connect to a single EMPTY instance, VEPro is already showing in the bottom right corner around 10%... I mean... Seriously...? Is this normal?


  • Ok, one overarching remark above all: looking at CPU percentages is pretty much a red herring.
    The real goal is good realtime performance, which the most terrific CPU capacity on the planet may not give because of some other bottleneck in the system. As you report that yer OS Task Manager is showing 1 or 2% of the CPU in use, I have a hefty kind of a project in VEP up and it looks like that, until I start working. Still, if there's a problem it may well be complex, interactions and playing nice in the sandbox or not.

    Your system is not very like mine. In any case I don't know what to do with your CPU metrics. I don't bother looking at it. If I'm having poor performance, on my systems looking at Activity Monitor CPU usage doesn't usually tell me anything I can use. However, since Kontakt is difficult on your system, we can start with the assumption it's using too much CPU. Get under the hood, its settings, and give it a higher preload number, using that RAM you're world-famous for instead of the CPU. 

    All I can get out of the images is it's peculiar to me to see an nki for every single articulation of the piccolo flute.
    I had to do that recently because a certain library (HyperFlute) is just cut that way, I have to either create a multi or load a dozen instances. I can't know what burden this is on your system; on mine the difference between 1 .nkm  of Kontakt with 12 children and 12 instances of Kontakt is negligible. However 12 stereo output vs 1 from VEP is a thing. I wouldn't use separate outs from Kontakt unless I had a compelling reason, something needing a different mix, and for me one piccolo flute is going to tend to be straightforward. After a while it adds up. Also, Spitfire may be your culprit (I would do process of elimination; from what info I have about your setup, well, I'm not using Spitfire libraries for that so I can't eliminate it as a problem, I just don't know.).

    So is this ww project performing abysmally, or are you just thinking there's a lot of CPU in use?

    PS: I don't know Logic for that kind of use case, but I have a lot of experience loading a lot of Kontakt inside a DAW and the difference between that and in VE Pro is two orders of magnitude difference here. I think something in your particular use case is underperforming majorly, but except for the settings offsetting CPU by using more RAM to stream it's not apparent to me why exactly from this information. I'm using things which are known to use significantly more muscle than your use case as described therein should, at low enough latency for notes to land with good timing accuracy/low enough (<9ms roundtrip) latency; with some caveats such as waiting for reverb tails to wane and not incessantly reiterating playback. NB: the diff for me was the audio interface, which may be a weak link in any system. It could be your network is the culprit.


  • Archie, I'd add a few more suggestions to Civilisation 3's already good coverage of this issue.

    1. Your system might have capped the speed of your Gigabit Ethernet links to 100Mb/s if certain conditions currently prevail in your network (including such possibilities as a damaged link cable connector). From what you've said, I think it's worth using an appropriate network utility to find out if link speed has been capped. I'm not an Ethernet (or macOS or PC OS) specialist so I must leave it to you to find trustworthy pro advice about such testing.

    2. It's possible to set up audio-intensive tests in VEPro that will indicate how your system is responding mostly to various degrees of audio-streaming load, rather than to other CPU loads.

    2.1 For example, you could set up a test instance in VEpro having as few as possible sample players, using the VEPro mixer simply to duplicate audio output streams until you're sending the maximum possible number of audio streams per instance to your master machine (where nothing fancy or demanding is done with this audio). The sample player in this test should be one for which you have best familiarity and confidence, loaded with a lightweight library that you know has the lightest possible CPU usage (including switching off all reverbs etc, and using just one long sustain note.)

    2.2 Then just keep adding more copies of this test instance in VEPro, one at a time, playing them all simultaneously while you listen and watch how the system responds.

    3. Also, set up VEPro instance tests to do the opposite of 2 above - i.e. in this case we want absolute minimal audio streaming while building up other CPU work incrementally towards giving the VEPro host CPU its worst nightmare loading conditions, using your most CPU-hungry players, patches, Fx, etc.

     

    Make sense to you? When a complex system acts up and there are just too many possibilities getting in the way of making a straightforward diagnosis, this is more or less the kind of approach I've always taken as a systems design engineer.

    P.S. One other thing I've just noticed: you're using 48000 sample rate. Just to eliminate any possibility that something untoward is happening because of that, I'd suggest trying 44100. And If that does the trick, but you need to deliver at 48K, then you could of course subsequently upsample your master audio as an offline process. (I know 48K has been a kind of norm for some years now and I understand the theory behind it; but I've become extremely doubtful that it produces any real benefits in actual practice these days. However, having nothing to do with anti-aliasing, my own lab tests have shown that 192K offers a real advantage by measurably reducing timing jitter in the audio - but that's another story.)


  • Hello,

    I have nearly the same system Dell PowerEdge R610 Server 2 x 6-Core Intel Xeon X5650, 192GB RAM, 4 x SAS 600 GB HDD Raid 10, Crucial 960 GB SSD, PCIe8x M.2 1TB SSD Internal, 1TB Samsung SSD, Windows 10 Pro Retail, VEPRo7.

    This is my System and steps I tested and works for me. I can load 19 Instances x 16 Channels, 304 Tracks with 19 VEPro7 Instruments and outputs in Cubase 11. It's enough tracks for me. I don't need 1000 like JXL :-)

    No guarantee that this works also for your system!

    This is only a guideline!

    Do not use single Kontakt instruments and all 48 or more MIDI Ports with 64 Audio Channels. Try following listed below:

    Use Windows 10 Pro Retail version not OEM version! There are significant differences.

    Disable Virus Protection Software!

    Disable Audio Guard for each VST Instrument in Cubase if you using. Check in Logic if you have something like Audio Guard activated.

    1. Start with a clear VEPro7 Pagel. Download last updated version from VI Page

    2. Add a instance with the + button

    3. Insert one Channel

    4. Add Kontakt 6 instance not Kontakt 5 (Kontakt 5 is not optimized for VEPro7 I believe. In my test runs,

    Kontakt 5 creates 20% more CPU work than Kontakt 6 but no guarantee for your system with Logic.

    It depends on system settings in Kontakt 5) 

    5. Select 1 Midiport - Set channels to  - ALL - 

    6. Add 16 Kontakt Outputs to your Kontakt Instance

    7. Add 16 Instruments inside one Kontakt Instance with separate outputs! 

    8. Create 16 Outputs over the + Button from your 1st Channel, which Kontakt 6 is placed

    9. Create corresponding VEPro7 Rack Instruments in Cubase 11 or logic and activate only 32 outputs.

    10. Select first MIDI Port for each output and select the defined MIDI Channel for your Kontakt instrument in VEPro7 instance. 

    Thats it. !

    Use only 1 Kontakt Instance  --> 1 Midi Port --> 16 Channels per VEPPro7 instance not 2 or more very important!

    You will see you can handle more than 10 VEPro7 instances without any problems.

    CPU by constant 40% with no Audio drop outs during playing and over 3600 Threads activated.

    As I mentioned its a lot of work inside your system and needs time to understand the dependencies between the Hardware & Software. 

    If you not a professional Hollywood Composer or Library composer, I recommend to use one powerful system with one DAW and one templated with only 150 Tracks thats it!

    However if you need a powerful system, which can handle more than 1000 tracks in one single machine, you need a Mac Pro. This is the only machine that I have been seen in action with 950 Track in one recording session :-) 

    But don't ask me the price :-)

    Try it out.