Jump to content

Mainstage 3.3.2 Performance Questions/Issues


MMU

Recommended Posts

I have spent a lot of time testing and optimising my Mainstage setup and want to post some performance questions/issues in the hope the Mainstage developers may be reading this. And also so that other readers can share their experiences and comments.

 

I have a maxed-out late-2016 MacBook Pro (2.9GHz i7) and an RME Babyface Pro. Everything is using the latest SW, e.g. High Sierra 10.13.2 and I tend to use instrument plugins such as Omnisphere, Ravenscroft 275, Alchemy but not many effect plugins to create a keyboard rig for live performance (not recording). I run my rig at 48kHz with 128 buffer size.

 

Before giving my questions, I want to thank Mainstage developers for adding the CPU Load History graph (accessed by double-clicking CPU box in the toolbar). This is extremely helpful for assessing the stability of plugins and already I have filed bug reports with two plugin manufacturers based on CPU spiking I saw here (and which they have agreed to investigate). (I don’t think all developers necessarily follow guidelines like these: http://atastypixel.com/blog/four-common-mistakes-in-audio-development/ ). So thanks Mainstage team. Super useful (and any improvements to allow multi-core performance info very welcome).

 

To my questions/issues….

 

Issue 1. By watching the CPU load history, one can notice how UI changes impact plugin CPU load (which I assume measures for each plugin time to completion of its audio thread). To see this clearly, add some channel strips with instrument plugins and watch the CPU load history as you switch between apps and do other screen refreshing UI activities. (There is no need to play a note – you will still see CPU load changes.) Even changing Mainstage modes (Layout/Edit/Perform) produces spikes. This all is surprising as my understanding was that the audio (IOProc) thread has highest priority in OS X, e.g. see http://www.cse.unsw.edu.au/~cs9242/10/lectures/09-OSXAudio.pdf . But in practice it seems lots of things can pre-empt the audio thread….

In fact, even *without doing anything in the UI* (and *playing nothing* so instrument plugin processing load should be essentially zero), you will still see that plugin processing times jump around with time (including Apple’s own Alchemy) – showing something is not quite right. I am not sure whether this no-activity effect is a second issue coming from Core Audio/OS X or Mainstage thread interactions but again it seems wrong.

The goal must surely be minimum audio thread sensitivity to UI/other kernel activity and dead-flat processing time when UI is idle and no notes being played…. It’s not really funny when you can create an audio glitch on demand by app switching. I believe Logic Pro X users had some issues with UI redraws affecting audio which were solved so maybe some experience can be drawn from that…. (https://www.gearslutz.com/board/apple-logic-pro/1136148-logic-10-3-cpu-spikes.html ).

 

Issue 2. It seems MIDI or note handling is running at a low priority. The best way I can demonstrate this is by turning on Auto-save and then playing in Edit mode. Then, I assume during saving, a dreadful temporary latency is introduced to MIDI notes where there is a pause (e.g. 1 or 2 seconds) with no notes sounding and then a “pile-up” of all the notes that disappeared suddenly sounding as the system recovers. (Note no audio glitching occurs during the problem.) This is the worst example but I have also noticed note delays when dialogue boxes appear etc and it seems MIDI/note timing is very sensitive to UI and other Mainstage app activity (more so than audio). I really think the threading of Mainstage needs to be adjusted so that note handling is much more robust. A visual tracker of note timing history and warnings when notes are delayed would really help diagnose better when problems occur (cf. CPU load history and audio overload warnings).

 

Thanks Mainstage team for your work and please investigate these issues to make for a more robust & predictable live playing/real-time audio experience.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...