Serious performance issues [SOLVED]

I feel I should echo filipedfs concerns about performance on large score in a separate post, as I have done a bit more experimenting since I wrote my comment on that thread, a comment that was perhaps a little too optimistic after all.

As I wanted to avoid any artifacts from xml import (artifacts which are far less numerous since the added improvements), I decided to write a quick “dummy” large orchestra file using the R command to extend the example to about 350 bars. At that point, the score is not really usable. Ctrl-A can take up to five minutes before being executed, and accessing menus once that is done can easily take the same amount of time. Inputting music, even in Galley view (which improves matters if the score is multi-flow) is extremely slow. I can share a dummy file with the team if they wish, but it is also very easy to create one from scratch using the method described above.

Are you on windows perchance?
I haven’t had any real performance issues with Dorico on my Mac but was rather shocked when I tried opening it up on my windows machine at work. Very different experience… (For the record, I’m not working with such large scores… I noticed performance issues at work even with only 2 pages of music!)

Indeed, I am on a Windows 10, AMD system

I thought I’d add more details.

Selection tools are indeed more than sluggish on a score even half the size I have created for standard orchestra. Selecting the beginning of an instrument and selecting to the end of the flow is fine. Each instrument I add using shift-click gets progressively slower which is why using ctrl-A can take five minutes. Once the music is selected - let’s say five staves - the navigation becomes sluggish as well. Around dinner time yesterday, I decided to experiment: I selected everything and then clicked on the screen to deselect. I may have clicked more than once. I prepared supper, sat on the desk with my wife with a glass of white wine etc … the music was still not deselected. Finally, as we were about to sit down for supper, I regained control of Dorico. 35 minutes! Could this have to do with Windows memory management? My system works beautifully everywhere else (it purrs, really). Clearly, something is very wrong here as I had no such issues with 1.0.3.

Here are my specs:

AMD FX-8370 8Core
16 Gb RAM
Windows 10 Pro – 64 bit
Creative SB X-Fi

It is quite likely that there is some combination of items in the score that is stressing Dorico in ways that we haven’t anticipated, eg it could be a freak combination of score items that triggers a worst-case path through the code. If you are willing to send us the score privately then we can take a look. There have been similar issues in the past that have only come to light when users sent us their scores, and now some of them are incorporated into our automated performance testing suite that runs daily (which ensures that we also spot when a change introduces a slow-down).

As I did before, I will gladly oblige. Do understand that the particular score I will send you is not a “musical” one but is simply filled with notes. However I find that identical situations arise with any score of that size, so I may end up sending you two.

Here’s a link to my (non-musical) test file:

On my (rather dated studio i7 16GB) Win7 desktop, this file loads in 2 mins 20 seconds. It’s rather impossible to work on once loaded.

The same file (in Finale format obviously), on the same machine, loads in 4 seconds using Finale 25.3 and can be worked on everywhere as efficiently as a single bar solo flute file.

The timings on the 2 year old Win 8.1Pro, i5, 8GB laptop I’m sitting at now, is: loadtime in Dorico 1.1.: 4 minutes, 35 seconds.
The Finale file in 25.4: 9 seconds.

On the latter machine I tried to split into more flows, but gave up after having watched the spinning cursor for 15 minutes. It may very well be a memory shortage issue, so I’m not complaining as such.

I tried downloading but this link isn’t working.

We’ve tried out Claude’s score and found a specific performance bug with Select All that was caused by our new code to show attachment lines. This has now been fixed for the next update. In the meantime there is a workaround where you can turn off the display of attachment lines in the View menu.

I’ve also looked at the score loading time and found that the time is split between calculation of the display data for the score and the loading of the audio engine data. Currently these phases happen one after another, but we do intend to make them happen in parallel when time permits, which hopefully will make scores load nearly twice as quicly.

Link should work now. I had disabled :slight_smile:

Works beautifully. Thanks a million!

Thanks Frank - I just opened this on my 2015 MacBook Pro, all 1757 bars, and it took about 50 seconds. No problem selecting, editing notes; a little bit of pause before playback with built-in sounds. Select All does take a very very long time; even with attachment lines turned off it took probably around 30 seconds.

For comparison, with Sibelius, in an opera score of about 600 bars, selecting a staccato flute note with Sibelius 7 sounds would take so long I would have to switch all sounds to general midi.

Thanks Frank - I’ve had a quick look at this has exposed some profiling hotspots which we’ll hope to take a look at soon. Basically there are a huge number of events generated from every voice stream which need to be merged, and that’s computationally very intensive, so we need to look at alternative algorithms for it. You will be delighted to hear that your opus now forms part of our daily performance testing suite.

Thanks Stephen for the feedback! Good to know that Mac’s can be good for something :slight_smile:
Thanks Paul for confirming issues. I’m glad to learn that the score can help improve Dorico, otherwise these 1757 bars of rubbish is not even worth the digital paper they’re printed on :wink: (I’m removing the link again)

Oh, you’re too modest. We’ll give you full composer credits when we play it at the Dorico 2.0 launch event.

I have also found a few specific improvements that make this score now load in just under half the time on my system. We’ve identified a few more areas that may yield further improvements that we hope to address soon.