Ideal Hardware for Dorico?

Hello there! I know there are some threads already open concerning Dorico’s slowness when working with large projects, but please :bear: with me… :innocent:.

What would be the absolute ideal hardware to run Dorico on? Would a lot of RAM (128-256-512GB, 1T??) make a difference? Faster RAM perhaps? Would a 5GHz CPU or higher make a difference? Overclocking? Would an “unreasonable” dual CPU server make a noticeable difference? Would a really high-end SSD or NVMe make a difference? If I were a really wealthy (or crazy…) individual, what Hardware would I want buy to perfectly match what Dorico needs for peak performance?

Thank you!

RAM isn’t really going to be the limiting factor. If you aren’t using big VSTs, 8 GB should be plenty unless you’re running tons of programs at the same time.

You’ll find that the performance return compared to cost is logarithmic. Spending more will improve performance to a point, but it levels out eventually. More cores tend to be better, but again, only to a point.

You might find this thread helpful: Dorico performance benchmarks? - Dorico - Steinberg Forums

I have an 11th-gen i7 laptop and a Ryzen 5900 desktop. There is a difference, for sure, but it’s usually not significant.

To be honest, the new M1 (and now M2) Macs are probably your best bet, if you’re going Apple. For PC, get a Ryzen 5950x if you can afford it.

Get a decent amount of RAM and an NVMe drive.

2 Likes

Yup, very useful! Thank you! I will read through it again since I expect there will be relevant new entries. I also have the Ryzen 5900x, an NVMe, 64RAM etc., but the performance when in a large project is still less than I would like/expect it to be… That’s why I wanted to ask this question.

It would be wonderful to have an insider/developer’s point of view about this subject, to learn enough about the architecture of the program and it’s future to really get the most out of it as a user!

Thanks!

Daniel may chime in, but I can tell you you won’t do any better than what you have as Dorico stands now, unfortunately. You’re pretty much maxed out.

1 Like

well… :sob:

To add to what Dan has said: SSD speed would only affect the speed at which the application launched, and loaded project files – though again, the data in the file must then be processed and displayed. Once you’re up and running, Dorico doesn’t use the disk; it’s all in RAM.

More cores can share the load; but multi-core CPUs often have low single-core speeds, and some aspects of Dorico’s work (e.g. laying out the music across the pages) is done consecutively. So a 4-core at 3Ghz may be better than a 12-core at 1Ghz.

I’d agree with Dan’s comment that the return diminishes exponentially. A computer that’s (on paper) 8 times faster won’t get you 8 times the speed.

This is becoming an FAQ. Somebody should type up a formal answer discussing all the pertinent factors- it would be helpful to people [I suspect I am volunteering]. When you say performance is less than you want, what is it that you want? Can you elaborate?

You don’t need inside track developer information to understand the architecture and performance of an engraving program. They are all similar, for example, LilyPond as well, due to the nature of musical notation. In a nutshell, it is an unavoidable fact that at some point the layout engine must do things sequentially. like it or not, so there is not a great deal of parallelism one an apply. Having a snappy CPU aids overall performance, but overclocking is not worth it for Dorico, with the attendant heating and cooling costs and reduced longevity of the CPU. An SSD is only good for fast saves and loads. Obviously does not affect what’s happening while in write mode etc. VST’s are another matter, and not to do with Dorico. If you have a lot of VST’s or a very large sample library you’d be advised to have 32 or 64GB RAM to fit it all in but going further than that does not seem to be necessary. Once you are in the 128GB RAM territory you are also in gaming machine pricing territory.

I’m a Windows 11 user and my i7-9750H CPU is more than up to the job, and the Gigabyte Aero notebook it runs on just flies, 32GB RAM, 2 SSD’s. While I do not write orchestral scores I do write VERY complex modernist notation, for what it’s worth. I am very happy.

As to what is ‘absolutely ideal’ I think this is a slightly meaningless term. What is ideal for one is not for another, especially considering people generally use their computers for other work as well, for example DAWs, video production, software development etc. Similar to, what is the absolutely ideal automobile?

If you mean what is a really high end machine good for musical scoring, you could look at the Apple Mac Studio, but they are not very expandable, sadly. As an exercise I just optioned up a Mac Studio with the sort of specs you were discussing and it comes out at USD$6998.99. [Don’t you love the 99 cents…] For me, for scoring, that’s not a good value proposition unless you have a boss who will buy it for the company.

Also note that over time with the marvellous frequent update releases of Dorico there are constant performance enhancements, such as the recent one relating to ‘select all’.

I’m sure lots of forum users will chime in here with specs of their machines that they find adequate as well.

1 Like

Absolute ideal? No question a Threadripper with 64 cores and 128GB RAM, and 8TB of NVMe. Dorico’s threading model is opaque, but put it on VEP where you can configure as many cores as you wish, up to 128 in this case for a full orchestra. CPU’s count more than RAM generally. You only need this if you run big orchestras (BBCSO) + extras, but you will notice the difference. I can see it, I have a studio with a 8 core i9, Mac Pro, a 24/48 Threadripper/128GB RAM and another HEDT, 12 core or something and the bigger computers win out every time. If you do big scores, for minimal lag and performance VEP with as many cores as you can get.

Having said that I’ve got an Intel HEDT with 20 something cores/128GB/NVMe for the audio computer - I had to for the Thunderbolt support needed for the Focusrite RED interface for Dante audio networking. The Threadripper is a digital art/development computer.

Anyhow that’s my 2cents, I wouldn’t go Apple, you’ll always be limited in what you can get (and don’t tell me specs, Apple goosed them. Think of Apple’s as basically single core performance (both GPU/CPU - yes they’re not single core machines but they’re optimized to be single core and that’s where they shine). Just get lots of AMD/Intel cores.

Yes, of course! I should start by saying that for short, small ensemble pieces, Dorico is marvelous! Snappy, fast, excelent! No problem! When one gets into large orchestra, long (30-40 min and above) pieces, that’s where the “problems” begin. For example, switching from Galley view to Page view is rather slow, from a layout to another is also rather slow, I find even saving or autosaving such a project strangely taxing on performance… It might be something I’m doing wrong or do not understand yet… but then again, a also run other taxing programs like DaVinci Resolve and, by comparison, they seem a bit snappier. I should also note that I DO notice improvements on each new Dorico version and wish to thank the team for continuously improving the software! The ctrl+A for example is way better than it was, but it’s still 5-7 sec… It’s workable, I’m not complaining, but I would like it to be better! As the team, understandably, doesn’t have the time right now to streamline the entire code of Dorico, could I, as a user, compensate somehow by buying some particular hardware? That’s what I wanted to discuss here and perhaps the wording I used: “ideal hardware” is not the greatest… :innocent:

YES!!!

I was actually thinking about the Threadripper line, but would it make a difference or is a lower core count, but higher speed CPU better? as Ben wrote:

Who knows? Depends on your use case too. Anyhow the TR line is kind of amazing, my 24 core runs each core full bore at 4GHz so no throttling. However I’d actually go no higher than the 32 core, I think the 64 is clock derated.

But don’t sweat it, with Dorico all you care about really is responsiveness, a big template library lags, VEP helps, and more cores helps that too, just pick something to taste and budget.

That’s the key. If you go this route, get as many cores as you can that still maintain a high base clock speed. Once the clock speed metric starts to dip due to the overhead of “too many” cores, then you want to pull back. Daniel has told us in many similar threads that certain tasks are single core, and essentially you cannot have it any other way. So having fewer cores with a higher clock speed could actually perform better for many tasks, than having more cores with slower clock speeds. You can’t brute force every operation in Dorico. They’ve multi-threaded as many as they can, and will continue to optimize, but some things have to be done the old fashioned way.

Ah good point. Yeah it’s really hard to say, with 3D modeling and running Unreal editor every ounce of a Threadripper + 3090 counts, and I can still choke the machine without too much trouble. But audio stuff is relatively pedestrian. My Intel HEDT with i9-9940X 3.3GHz and 14 cores does just fine (this is the audio workstation), in that there’s zero noticeable lag.

It also seems likely (though I haven’t actually tested it :roll_eyes:) that certain types of notation are more ‘expensive’ that others.

A layout with lots of percussion, cues, ossias, divisi, slash regions, and staff hiding is going to require more work than something that’s just consistent staves of notes ‘n’ lyrics. (To say nothing of condensing.)

2 Likes

I agree with Andro on this one - it depends on what you’re using Dorico for.

If it’s massive orchestral playback using massive playback templates, sure, lots of RAM, lots of cores. If it’s running up to the printer from the control room to whip out a quick edit for the 86 human players waiting next door, it’s something portable with probably fewer cores and less RAM, but ideally the single core clock speed is fast.

More flows, more players, more layouts, more bars generally leads to a laggier Dorico (and single core clock speed makes the difference here). That even goes for projects with a single layout, just piano and vocals, lyrics and chord symbols, with 50 shortish flows, particularly if flows aren’t set to start a new page (because any mid-project edit can cause Dorico to cast off all of the remaining pages/flows.)

1 Like

It’s true. I was surprised when I was researching before my recent sound card update to discover that many of the newest audio interfaces are still only USB 2.0. I stumbled across an article that detailed how many streams of audio can be sent 192khz via USB 2 and it’s a huge number. I forget now, but it’s something like 64 streams at 192/48 can all comfortably filter through a standard [slow] USB port. I had incorrectly assumed that the data throughput would be much higher than it really is. I landed on a MOTU M4 which is USBC, so it doesn’t much matter, but it was eye-opening nevertheless. Granted, this fact doesn’t account for the processing that might be involved in producing those data streams… But the moral of the story is, audio is lighter than I realized. (Of course, lots of layers of processing and VST’s can certainly bring a system to its knees, so processing power isn’t to be dismissed, but at least this type of demand on a processor is now a highly common (pedestrian, as you say) and refined task.)

Yup… usually my use case…

Got it! So CPU single core speed is the the most likely bottleneck for this specific use case: large projects of 30 min. and beyond with large orchestra. So having a 5-6 GHz CPU might/should speed up Dorico… Am I right here?

So, an investment in a really fast CPU should/will be useful even in the next releases of Dorico? Am I right?

Sorry… What exactly is VEP?

Vienna Ensemble Pro. If you have a big template and care about performance you definately want to use it, including when you have cores to spare.

With a big heavyweight template Dorico lags jumping from line to line, with VEP that goes way down. Adding more cores helps.

In my experience at least, absolutely right about CPU - not just single CPU speed though - good heat management means goog mulitple CPU speed is possible, and particularly important for sample libraries.

VEP is short for Vienna Ensemble Pro, which is a host for VST that unlike a DAW sends the audio BACK into Dorico - some consider it a vital extension to Dorico for lots of reasons. I am a late and reluctant convert to VEP. But there isn’t a DAW I’ve tried that is as effective for our kinds of use…

If you have such a long piece/project, it might be a good idea to split it into different flows and assign each flow to a different layout. Usually the music will divide naturally to different sections/movements anyway, but I guess also 40-60 minutes long single -movement works do exist (?)

Yup, tried that, but it seems to me that as the project grows, even if it is split into different flows, it still tends to become more sluggish. But I’ll experiment a bit with this once again, thanks!

Thanks!