Page 1 of 1
Speed up MusE startup
Posted: Thu Feb 21, 2019 8:01 pm
by Basslint
Hello,
I have a fairly powerful computer but MusE takes a while to start up (~5 seconds) and to close down (~1 second). A bulkier program, Blender, takes ~3 seconds to startup.
This happens not only when MusE starts JACK but also when a JACK server is already started (maybe it's a bit faster, but not noticeably).
Is there something I can do to speed up MusE's startup? Keep in mind that I only use MusE as a MIDI editor so I don't need any of the audio editing functionalities.
Re: Speed up MusE startup
Posted: Thu Feb 21, 2019 8:16 pm
by Tim E. Real
Hello. There are command-line switches available to disable loading
of various plugin support, which can help improve loading time. Type muse3 -h to see the options.
Also if you are using the latest git version of MusE, there is now a plugin scanner which does add
considerable loading time - but only once. After the one-time scan it should be back to 'normal' speed.
Re: Speed up MusE startup
Posted: Thu Feb 21, 2019 8:27 pm
by Basslint
Tim E. Real wrote:Hello. There are command-line switches available to disable loading
of various plugin support, which can help improve loading time. Type muse3 -h to see the options.
Also if you are using the latest git version of MusE, there is now a plugin scanner which does add
considerable loading time - but only once. After the one-time scan it should be back to 'normal' speed.
Hello, I disabled all plugins and it did improve loading time. Now it's around 3 seconds when JACK is already open, and closing time is negligible, thank you. Is there something else I can do?
Re: Speed up MusE startup
Posted: Thu Feb 21, 2019 8:54 pm
by Tim E. Real
Mm, not much else I can think of.
If you are building MusE from source you can ensure that the build type
is 'Release' rather than 'Debug' which could help with speed.
Re: Speed up MusE startup
Posted: Thu Feb 21, 2019 9:07 pm
by Tim E. Real
OK If you are actually counting seconds, then there is this in main.cpp at line 1086:
Code: Select all
// WARNING Must do it this way. Call registerClient long AFTER Jack client is created and MusE ALSA client is
// created (in initMidiDevices), otherwise random crashes can occur within Jack <= 1.9.8. Fixed in Jack 1.9.9. Tim.
// This initMidiDevices will automatically initialize the midiSeq sequencer thread, but not start it - that's a bit later on.
MusECore::initMidiDevices();
// Wait until things have settled. One second seems OK so far.
for(int t = 0; t < 100; ++t)
usleep(10000);
// Now it is safe to call registerClient.
MusEGlobal::audioDevice->registerClient();
You uh, could remove the 'for' and 'sleep' lines, if you heed the above warning
[Edit:] Done in git master now!
No more one-second wait
The hack is about six years old now, was for Jack <= 1.9.8. Jack 1.9.9.5 was released Dec 10 2012.
Commented out for now. To be removed at some point if we're all good.
Try it out.