[Solved] Exporting audio very slow and only taking low CPU

Hi,

I’ve recently switched to a decently fast computer (a 12-core Mac Pro 2013), that makes me go faster than ever.

However, I’m seeing that while exporting audio, there is very little CPU taken by Dorico, and the process continues to be very slow.

Any way to make it use a bit more of the machine’s power, and go faster?

Paolo

IIRC, audio export is a single-core process. So in that case, having 12 cores doesn’t help you much. I could be wrong…

During audio export Dorico itself has not so much to do, the most work is done by a process called VSTAudioEngine. So have a look at that process instead. How much cpu load does it create during export?

I’m exporting audio now, and VST Audio Engine is taking a maximum of 147% on 50 threads.

Paolo

Well 147% is better than ‘almost nothing’, but still, normally you should see higher cpu usage. How many physical cores do you have? Because the audio engine will never use all available logical cores, but only the physical cores. It’s difficult to explain why, but it’s all based on our performance measurements. The code is highly optimized and if you spread that code over 2 logical cores it won’t gain anything, but might be even slower.
Anyhow, with e.g. 12 logical cores and 6 physical cores you will probably only see a maximum usage of around 600% instead of a theoretical 1200%. But 150 is still much less than 600%, so something else must be throttling down your machine, but I can’t tell you what.
The audio engine has no switch to make it go faster or something. But you can attach a diagnostics report, I might see something, but have few hope.

Ulf, thank you for your informative answer.

It’s a Mac Pro 2013, declared as a 12-core (24 logical cores).

But you can attach a diagnostics report, I might see something, but have few hope.

I sampled the VST Audio Engine while exporting audio. Is this somewhat useful?

Paolo

Sample of VST Audio Engine.txt.zip (38.2 KB)

Thanks. I took a first glimpse and it looks like you are using VEPro. How is that set up with you? You are running it on the same machine or via network?
And actually, what is the overall cpu usage saying during export?
And what if you change the playback template to HALion and then export, what figures do you get then?

Ulf, I’m working with a single machine. VEPRO is in the same machines as Dorico.

VST Audio Engine + VEPRO take about 300% of CPU. The total amount of CPU used is 20-22%.

Unfortunately I can’t do a real comparisong with HALion, at the moment, since I don’t have the original sounds coming with Dorico installed. However, if exporting audio with the HALion SE playback template selected, I get VST Audio engine at 354%, and the total CPU about 25%.

Paolo

Well, 300% is already a better number, but still a bit low. I don’t know VEPro, but HALion Sonic SE has on the Options tab a control for multi processing, where you can tell it to use more or less core. With the HSSE template selected, try fiddling with that option and see if you can get higher cpu usage resp. quicker export.

Ulf, you nailed it! I assigned to VEPRO 12 thread (as suggested in the manual: 1 core = 1 thread as a starting base). Now VST Audio Engine takes about 160-200%, VEPRO 550-650%, for a total CPU time of about 40%! That’s great!

Paolo

Cool, great to hear :slight_smile:

The number of thread in VEPRO is a bit of a tradeoff. When working with Dorico, I find it better to leave just a single thread for instance. I’m using several instances, so this shouldn’t saturate the system. And my instances are quite small (no more than 16 channels, usually).

When exporting, increasing the number of threads per instances is much better, and the speed increases considerably.

I wonder if VST Audio Engine can do this automatically, or there isn’t a way to tell VEPRO to do in a different way.

Paolo

Unfortunately not, Paolo.