Screen tearing at 4K 120hz. Limited gui frame rate?

I recently upgraded to a 4k 120hz monitor and have really been enjoying a buttery smooth Windows experience, including with Nuendo.

In Dorico, however, there is very noticeable screen tearing when navigating around a score, and the judderiness (don’t look it up; it’s not a word) is pretty off putting when you’re going back and forth between it and other software.

Is there anything I can do to improve this?

I’m afraid we don’t have any 120Hz displays among the team (and in any case we’re all working remotely rather than from our offices), so we aren’t in a position to test this.

Dorico doesn’t make use of any 3D acceleration or other hardware acceleration for drawing its interface or the music, so I imagine that the issue would be whether or not a complete redraw can be carried out in less than 8ms. In general, for a 4k display, I imagine that may well not be the case. I’ll talk to the team about this and see what they think.

Hi Daniel thanks for getting back to me.

After a bit of experimenting I’ve noticed that the problem, counter-intuitively perhaps, is far less noticeable the more music you have on a page. On busy pages the scrolling feels much smoother, whereas on an almost blank page you can really see the tearing.

I took a screenshot of the cpu monitor after some vigorous scrolling and you can see it’s only pushing 3 of 32 cores, so maybe this is a cpu utilisation thing?

I’d just add that with 4k at 60hz there’s no problem

I see no such issue at 165gz/1440p.

I’m also using a 4K display myself at 60Hz and have never experienced any screen tearing in Dorico, but I’m on Mac rather than Windows, and I don’t know the extent to which the specific graphics hardware and drivers might have an impact on this issue.

Scrolling around the score won’t in general use multiple cores, and it doesn’t need to: there’s not a huge amount of processing required to actually draw the score. Editing is multi-threaded and benefits from more cores (though probably only in the very largest projects if you have more than 8 cores, since Dorico cannot perform all processing multi-threaded as some later processing requires information generated by earlier processing, so there are a couple of marshalling points where all threads have to return to the main thread before they are redispatched out to other cores), but on a modern machine I’d be surprised to see score drawing being CPU bound, even though it does not currently use hardware acceleration (which comes with its own challenges in any case).

Looks like this may be a Windows problem then… @wcreed & @TylerE are you on Windows? If so, are you using integrated or discrete graphics?

I did a bit more testing:

  • Tried on secondary 4k/60 monitor
  • Disabled g-sync
  • Set primary monitor to 60hz
  • Disabled secondary monitor
  • Tried different audio interfaces/buffer settings

Nothing made a difference to the screen tearing. I’m out of ideas but if you can think of something else to test I’m happy to try it out.

I’m on Windows 10 and have a discrete graphics card with Nvidia chipset connected with a displyport cable. I’m running at full resolution (3840x2160)