Apply/OK of Preferences is very slow

• Aug 10, 2019 - 22:59
Reported version
P3 - Low
S4 - Minor

Any preferences being OK'd or Apply'd is extremely slow (Approx. 4 seconds), while MS2.x was usually less than 1 second. Captured some .gifs juxtaposing the two:


Frequency Once Few

> This seems important.

I fully second that, i was just about to report this as well. It takes around the same time it takes to start up MuseScore on my machine. It may be understandable if i had actually changed anything in the preferences, but just opening the preferences window without changing anything and clicking OK or Apply is darn slow - the first time i encountered it i thought it was gonna crash, b/c the user experience basically freezes there for a moment.

It seems as if ALL settings get re-applied, unless clicking Cancel which is blazing fast. I assume there were a couple of options added since 2.x, that would explain why it is so much slower now.

This may require a major refactoring though: The first iteration would need to introduce an isDirty-flag as an aspect of any setting being changed, and if it's false just behave as if Cancel was clicked. In a second iteration, it should of course only apply the settings that have actually changed, but if there are complex dependencies in between settings changes this may be a Chuck-Norris-type of refactoring job, but i really cannot say.

Regression No Yes
Type Functional Performance

This is a software performance regression by definition.

Worse still, performance will degrade even more as new options get implemented in the preferences section. I understand there is neither a lot of fun nor fame in fixing this, yet i'd advise on putting this onto the roadmap anytime soon.

In reply to by Git Message

P.S. After testing the 3.5Beta, the preferences now seem almost faster than how they were in 2.3.2 on my system! Thanks for the fix. Actually I take that back, it's still kind of slow when changing some things. But when changing only the keyboard shortcuts, it's really fast now. Either way, it's definitely better than before in version 3

Fix version