Processing slowness

Here’s a quick test file if anyone wants to play around with it. D5.0.2 file, Modern orchestra template, 15 flows, each 200 bars (so 3000 bars total), silence playback template, mostly all factory settings. There’s a triad in the Flutes so Condensing has something to deal with other than rests.
test.dorico (2.3 MB)

Here’s what I get with all my normal background stuff running.

Turning Condensing on:
notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=true (11392 ms)
Turning Condensing off:
notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=false (10984 ms)

Duplicating the final Flow with Condensing on:
notifyPostCommandExecute: Project.Flows.Duplicate?FlowID=14&FlowIDArray=14 (15116 ms)
Duplicating the final Flow with Condensing off:
notifyPostCommandExecute: Project.Flows.Duplicate?FlowID=14&FlowIDArray=14 (6478 ms)

Interesting that there’s such a huge performance hit when duplicating a Flow with Condensing on.

EDIT: Ran it again without VEPro, MIR 3D, Roon, etc. running in the background and there was almost no difference. All times were within 1/10 sec so having all that stuff open and running had a negligible effect.

Hi Fred,
I tried your test file. I notice a relative big difference between Locked layout (8 seconds circa for switching condensing on or off) vs unlocked/resetted layout (circa 12 seconds). You can see here (cut-down from console).
In Locked Layout mode, Dorico makes apparently his changes only within the frames, saving so some calculations.
(Dorico 5.0.20 - iMac 27" 2020- 3,6 10cores i9 - 128GB Ram - 2TB SSD just for comparison)

With locked layout:

2023-08-13 23:13:50.250 [info] notifyPostCommandExecute: Page.LockLayout (3167 ms)
2023-08-13 23:17:54.003 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=true (8282 ms)
2023-08-13 23:18:13.869 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=false (8078 ms)

With Reset layout:

2023-08-13 23:18:51.561 [info] notifyPostCommandExecute: Page.UnlockLayout (4333 ms)
2023-08-13 23:19:20.896 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=true (12589 ms)
2023-08-13 23:19:53.378 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=false (11260 ms)

2 Likes

Interesting! I just tried that and definitely saw some improvement.

2023-08-13 18:07:53.320 [info] notifyPostCommandExecute: Page.LockLayout (2208 ms)
2023-08-13 18:08:03.117 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=true (8194 ms)
2023-08-13 18:08:30.410 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=false (8314 ms)

Locking everything had some positive effect on duplicating the last Flow too. Locked/Condensing on:
2023-08-13 18:09:50.627 [info] notifyPostCommandExecute: Project.Flows.Duplicate?FlowID=14&FlowIDArray=14 (11947 ms)

Locked/Condensing off:
2023-08-13 18:12:03.380 [info] notifyPostCommandExecute: Project.Flows.Duplicate?FlowID=14&FlowIDArray=14 (5023 ms)

1 Like

Here are my results with the test file:

Condensing off:

2023-08-13 18:57:15.283 [info] notifyPostCommandExecute: Project.Flow.New (17254 ms)

Turn condensing on:

2023-08-13 18:57:25.313 [info] Executing command: Edit.ToggleLayoutCondensing?Set=true
2023-08-13 18:57:34.638 [info] notifyPostCommandExecute: Edit.ToggleLayoutCondensing?Set=true (9325 ms)

Create new flow with condensing on:

2023-08-13 18:57:40.455 [info] Executing command: Project.Flow.New
2023-08-13 18:57:40.481 [info] Sync video soundtrack with engine
2023-08-13 18:57:54.729 [info] ping response received: from silk service
2023-08-13 18:58:14.362 [info] Applying playback template playbacktemplate.silence, (incremental)
2023-08-13 18:58:14.675 [info] Syncing Audio Engine
2023-08-13 18:58:14.846 [info] notifyPostCommandExecute: Project.Flow.New (34391 ms)

Create new playing technique, condensing still on:

Engrave.EditPlayTechniqueAppearanceStyles PlayingTechniqueCategory=kBrass, Set=true, Post=true
2023-08-13 18:58:25.802 [info] Executing command: Engrave.EditPlayTechniqueAppearanceStyles?PlayingTechniqueCategory=kBrass&Set=true
2023-08-13 18:58:40.150 [info] ping response received: from silk service
2023-08-13 18:58:40.782 [info] notifyPostCommandExecute: Engrave.EditPlayTechniqueAppearanceStyles?PlayingTechniqueCategory=kBrass&Set=true (14980 ms)

1 Like

Cool - so a small set of data and just a few comparison points, but looks in the neighborhood of twice as fast as the op so far? I missed seeing what Fred is running.

I think it’s hard to compare performance between a nearly empty file vs. one populated with music, correct?

Either adding notes, dynamics, etc. to a project slows it down significantly, or there’s something about my project that is problematic.

1 Like

I had posted earlier mentioning similar “sluggishness” and I have a brand new M2 Mac Studio Ultra with 128 GB’s of RAM. My workaround (after trying everything I could think of, and getting suggestions from Daniel) was unfortunately to revert back to Dorico 4 - the issue now has gone away (but only in Dorico 4 - not in Dorico 5). So it appears to be something to do with whatever was changed in Dorico 5, perhaps? I did notice that VST Audio Engine tended to run at 28% or greater in Activity Monitor, consistently (wasn’t sure if that might have something to do with it?)
D.D.

That’s interesting because I’m still running Dorico 4 and I have these issues. I’m not using any playback sounds in my project, so maybe we’re experiencing two different causes of slowness.

AMD 5950x, 128GB, lots of drives but 4 Samsung 2TB 980 or 970 M.2s, plus a bunch other SSD drives. Backblaze says it’s currently backing up 13.4 TB so I guess I have more than that attached.

bb

1 Like

Could always be something weird, but I’ve not seen a comparison like that get BETTER by making the data bigger/more complex. Always the other way, sigh.

Hmm - must be a different problem. For me switching to Dorico 4 definitely did the trick (thankfully as the sporadic slowness was admittedly driving me nuts!) Good luck solving your problem! (and I’ll also hope I can still figure out why things aren’t working properly in Dorico 5).

Hopefully, I’ve collated the data correctly, adding my stats, on a Mac Mini M2 Pro, 32Gb RAM.

What’s interesting is: Creating a New Flow is much slower than Duplicating one!

Also, not every task is faster/slower by the same proportion on a given computer. Some tasks might be faster and others slower.

I got lucky with that Adding a PT time. Additional results were around 7200. But still weirdly fast, proportionally.

Condensing is a lot of work. It’s also true that particular types of notation require a lot more effort – Cues, Slash Notation, etc.

1 Like

Wow, that is interesting

@bednwiggy how do you get these precise timings? And what is the unit? Milliseconds?

They are taken from Dorico’s application.log file, in the user settings folder (along with your key shortcuts, preferences, saved defaults, scripts, etc.)

Every command is logged, with the time taken in milliseconds.

2 Likes

I did send my file along to DS a couple of days ago and am hoping he might have some insight. However, the fact that we’re all seeing numbers within a similar range indicates that these times are just the result of how Dorico processes things. If that’s true, and it’s also true that adding more “stuff” to the score (notes, dynamics, slashes, chords, cues, etc.) will slow things down even more, then it seems likely that the times I’m seeing in my original project are not unexpected. If that’s true, then I think one has to reconsider whether it is ever going to be wise to work in large projects with multiple flows.

1 Like

This is concerning. There are other reports of sluggishness on Mac scattered through the forum.

I was considering laying out A$10,000 on a Mac Studio instead of my grunty Windows machine, but now I am very reluctant, as my principal use case is Dorico. Hmm. I shall observe carefully. And you have to revert to Dorico 4? Dear me. Am I being overly cautious or negative?

My scores are not large orchestral, but they are large and complex modernist works, such as an hour long string quartet.

Are you saying there’s no point in buying any kind of faster machine, because large scores will be slow, regardless? I don’t think there’s any Mac-specific slowness, is there?

Fred’s AMD Ryzen 5950X is, from what I can gather, fairly hardcore, but Jim’s M1 Mini is still faster. Neither will make Dorico fast, but there’s a difference of seconds between the two.

DS did send me a very detailed response about the large orchestra score I sent him. He had an excellent suggestion, which is that any changes made in setup mode, like adding flows, etc., can be done much more efficiently by working from the smallest layouts. For example, instead of viewing the full score, one can switch to viewing a single part, then close and reopen the file, before adding the flow.

Having said that, he did also indicate that Dorico is just going to be slow when making some changes to very large projects. I can confirm that before I combined all 18 movements into a single file, I wasn’t not experiencing any unworkable slowness. But it also seems that VERY large multi-moment works will be extremely slow-going for the foreseeable future—at least on a Mac. I can’t speak to the Windows situation.

I would like to know what his definition of “large” is. I have 8 flows with a standard orchestra setup and I experience slowness. But when I start on a fresh flow its fast again. So the number of flows don’t seem to matter to me, just what’s on that particular flow.

I’m on windows btw