Performance Issue in Engrave Mode when moving objects, frames and margins

Whenever I want to move something with Alt and an arrow key in Engrave mode, be it a frame containing something or the vertical or horizontal position of objects that affects those of other objects, there is a noticeable lag between hitting the key and the effect being displayed on the screen. Of course if one object’s position affects those of others, the latter need to be recomputed, but I thought today’s medium class hardware should be able to do this without any noticeable effort. Sometimes the lag is so severe that the inputs accumulate inside the machine and are processed very slowly, making it impossible to adjust positions anywhere near real time - especially when trying to move several objects at once, which is sometimes necessary.

My system runs on an i5-1245U with integrated graphics (Xe 80EU) and 16GiB of RAM on W11Pro. Do I need a discrete GPU for this to work fluently? How does this perform on Macs with Apple Silicon?

Thank you all in advance!

P.S. Dorico usually is my only larger application running at these moments, so I think RAM or CPU capacity shortage can be ruled out here.

I believe this depends from the size of the score, as the performance degrades sensibly the bigger the score becomes (although not in all aspects of the software).
Are you running on AC or on battery while experiencing the degraded performance? It is known that Windows laptops have two different “gears” when plugged or unplugged.
It is widely known that Dorico performs excellently on Apple Silicon, though I do not yet have one. I have a 2016 MacBook Pro and both Dorico 4 and 5 perform much better than the previous versions did. As far as macOS is concerned, it is very well optimised.

1 Like

(Welcome to the forum)

I have a similar spec PC and Dorico is responsive in Engrave mode. But I don’t require huge forces (mostly maxing out at a classical orchestra with double wind and brass and <1000 bars). I would not attempt an opera or large film score!

Response time is known to be affected by condensing and having multiple layout tabs open, due the amount of recalculation being done.

2 Likes

I just did a few test runs and the lag occurs regardless of energy supply or power settings. I tried both “recommended” + “balanced” settings on battery as well as “best performance” + “ultimate power” settings while connected to the AC powered dock. There were no noticeable differences in performance and responsiveness.

I don’t know if my expectations are too high though. In my opinion it should be possible to Alt-hold the arrow key and upon releasing to have the adjustment on screen stop immediately. Instead, the machine keeps on processing a considerable bit further on.

Considering that a task like this has been a basic function of scorewriters for decades, I am surprised that there is still so much lag left nowadays, even with today’s software being more complex than my old Sibelius 6 running on my old XP machine with a Core Duo and 1GiB of RAM, which did the job just as fine.

And my score is far from big. In fact, it is a rather simple handout containing the liturgy of my congregation’s church service: Just one voice/player, lyrics and multiple text and music frames to provide a clean layout on five A5 pages in standard staff size.

Might the fact that I split up the different liturgical chants into their own respective flows be of any effect on performance?

If you post your diagnostics (Help>Create Diagnostic Report and upload the resulting zip file) we will be able to see the response time of your system to editing actions.

1 Like

That sounds like a viable option! (I will do this tomorrow, right now it is quite late at my place - at least for someone with school kids. :slight_smile: )

Bear in mind that if you’re resizing a music frame, then Dorico has to recalculate the spacing every time you press the arrow key, and Dorico’s spacing calculations are computationally ‘expensive’.

You can see the times to complete each operation in the application.log file, in the same folder as your user prefs. Can you give us a specific example of a project file and an operation?

For instance, adjusting the size of a music frame on one page of a score of Beethoven 7 (condensing off) takes 200 to 250 ms, so 1/5 to 1/4 of a second (on my M2 Pro Mac Mini).
That’s not unreasonably slow, though you’re right that you can build up a ‘queue’ of key presses that still have to complete for a while after.

Dragging the frame handle is faster, as it doesn’t redraw the contents until you let go.

Dorico has certainly improved in this regard, over the years, and there may be more improvements to come.

3 Likes

The repeat-rate when one holds down a key, or the sensitivity of repeated taps, is a function of the computer and keyboard, not Dorico. Since computer-makers are constantly trying to make their computers faster, it is not surprising if software can fall behind the strokes that build up in the computer buffer.

1 Like

If Dorico takes longer to respond to an edit than the repeat rate of the keyboard, then it will “queue up” more edits and keep processing them after you release the keys, so it’s definitely the case that if you hold down Alt and an arrow key and then let go, things will continue to move as the queue is cleared.

On my system, in a development build (which is typically a fair bit slower than the release builds used by users), nudging an individual item in Engrave mode takes less than 100ms, but this does increase as project size and complexity increases.

My suggestion would be to use Ctrl+Alt+arrows to move items by larger amounts, then fine-tune with Alt+arrow, rather than keeping Alt+arrow held down. I think you’ll find this feels better and more under your control.

1 Like