Rhino 8 Mac SLOW with external monitor

Just installed Rhino 8 to trial.

For some reason the GUI is very “slow” when doing simple stuff like drawing lines in a new document.

For kicks I tried with my external monitor disconnected and it seems much faster. I have a LG DualUp monitor, connected through a CalDigit Thunderbolt Dock.

Where/how do I start troubleshooting this?

Hi Ryan-

Sounds like you’ve already started trouble-shooting this. I am curious about a couple things. First off, it might help to take a look at your SystemInfo ← just run that command in Rhino and paste in the results in a reply here.

Second, you might check to see what the default refresh rates are for the displays you are using. These are in System Settings > Displays > Refresh rate …check to see if there’s a large discrepancy between the built-in display and your LG Dual Up display.

From the sound of it, it sounds like the lag you’re seeing is mostly in the UI - the buttons, menus, etc. Or does it feel like it’s in the Rhino viewport?

There is this YT: RH-77649 Mac display speed: Slower at certain display scaling on external monitor

But as you can see in the Mac display settings, it does mention the scaled display can influence performance negatively.

do you see similar difference as in that report or is it worse?

Yes I am almost certain it’s this. I am running the external monitor at a scaled setting – so it sounds like it’s a bug that hopefully will be fixed at some point.

That’s a big no-no on macOS! It will mess with the overall performance of the Mac, since the display scaling that has to be constantly done, eats away your GPU power. It’s less noticeable on Apple Silicon than previously on Intel, but still.

is this really the case? setting my 27" external monitor to standard would make all the components HUGE, so huge, it would only make sense to use it that way for visually impaired people. I have never noticed a performance drop running two 27" 4K screens in closed clamshell mode with my Intel MBP 16"

Also: why does macOS not give me the performance warning regarding display scaling for the integrated MBP screen, does anyone know?

Here’s a clip of what the behavior looks like.

It’s only related to “Edit” type behavior:

  • Drawing a 2D line, the display of the line lags behind the cursor.
  • Panning a simple 3D shape in perspective view is realtime/snappy.
  • Resizing the viewport-panes is laggy.

I run the screen at 1.25 scaling (So I run at “2048x2034” for 2560x2880 native resolution).

It looks like when the Rhino window is set smaller (even on the scaled screen), the issue doesn’t exist or isn’t as pronounced.

I can work with this – I hope it’s able to be addressed at some point.

Let me know if there’s anything else I can do (Including post on the bug report) to help resolve this!


Rhino 8 SR2 2023-12-12 (Rhino 8, 8.2.23346.13002, Git hash:master @ dbefe46c12cda06610a9ab683a211aa3d16f0030)
License type: Evaluation, build 2023-12-12
License details: Cloud Zoo
Expires on: 4684272-12-09

Apple macOS Version 14.1.1 (Build 23B81) (Physical RAM: 16Gb)
Mac Model Identifier: MacBookAir10,1
Language: en-US (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1
Color LCD (1440 x 900 @ 60.00Hz)

USB devices
None

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswiftObservation.dylib
/usr/lib/swift/libswiftWebKit.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftMapKit.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
/Applications/Rhino 8.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.2.23346.13002

This is crazy slow. Never noticed sth like this on my Mac.

Though that may be, I don’t have any problems with any other applications, and this behavior is exhibiting when performing the simplest operations. I can accept the tradeoffs if I were trying to play a full screen graphics intensive game, or even if I were working on a very complicated model in Rhino. I would hope simple operations can be made to work more acceptably.

Yes, you can read about it all over the internet. If you buy a non-Apple, external monitor for a Mac, you always need to pay attention as to it supports one of the resolutions that Apple supports on their line-up of displays. Otherwise you might end up needing to scale because of a mismatched resolution, which is going to be a performance downer.
The system preferences, or system settings how they are now called, even warn about this!

That looks more like maybe a Rhino bug? Just to be clear, I was talking more generally about external monitors, Macs, and scaling.

1 Like

That looks more like maybe a Rhino bug? Just to be clear, I was talking more generally about external monitors, Macs, and scaling.

Hope so! I was aware of the potential downsides of scaling when I bought the monitor. So far for me, excepting for this current matter with Rhino, it’s been more of an issue of internet-scaries than an actual issue. I do a range of things with my computer including engineering and design applications, work with multimedia. I’m not doing intensive gaming nor graphic design that needs to be to-the-pixel-accurate, which I understood to be the two use cases that could be particularly problematic with the scaling.

As I’ve mentioned above, on Apple Silicon and modern versions of macOS, it’s become less of an issue, because of optimizations that Apple has build in to the OS and the more capable hardware, namely the GPU.
In the Intel era, it was a considerable amount of first CPU then GPU power that was lost due to scaling. Even now, as it’s less noticeable, you still lose some power to a superfluous background process that you could have avoided, not even to mention the Rhino problems that popped up. I mean it runs pretty great on my non-scaled external display. :wink:

Sounds like similar problem I reported weeks ago

There is an mouse/object drag in RH8.3 compared to RH7

I run 3 monitors ( one 38", two 27") from a MacMini intel, 2018 with an external GPU (Radeon pro 580)
All monitors are scaled, - so this is not an issue related to scaling and Mac performance, its RH8 related compared to RH 7

RH 7

RH 8.3

1 Like

I’m experiencing the same issue as Ryan McLean. However I’m running an M1 MacBook with a brand new Apple Studio Display, so I dont think that it’s a scaling issue.

I have been unable to re-create the issue using R7 so it seems that something has slipped through the cracks in the upgrade to R8.

Hi Gijs and Dan, I’m using an M1 MacBook with new Apple Studio Display and I’m experiencing the same issue, so I dont think that its a scaling / 3rd party screen problem.

Playing around with it I’ve found that when the Rhino window is small on the external display it’s not a problem. When you maximise the window you see the issue:

Small window:

Large window:

Interestingly recording the screen makes it even worse.

1 Like

Hi Dan please see my reply above - I’m experiencing this error with an unscaled Apple external monitor. The bigger the Rhino window on the monitor, the bigger the lag. Can’t re-create the error in R7.

I can reproduce this issue:

RH-77649 Mac display speed: Slower at certain display scaling on external monitor

but, if I keep my display scaling fixed and unscaled, I cannot reproduce the issue you clearly illustrate in your video when you change the window size. That’s the part I’d really like to be able to reproduce.

I’ve tried with a Dell P2715Q (3840 x 2160) as well as the LG 5k UltraFine (5120 x 2880).

This leads me to suspect this is very hardware-specific. I see Ryan’s SystemInfo above; but I see you have a M1 MacBook. It might be helpful to see the specifics there which SystemInfo provides.

Hi Dan, happy to oblige, here you go:

Rhino 8 SR2 2023-12-12 (Rhino 8, 8.2.23346.13002, Git hash:master @ dbefe46c12cda06610a9ab683a211aa3d16f0030)
License type: Evaluation, build 2023-12-12
License details: Cloud Zoo
Expires on: 4678122-07-04

Apple macOS Version 14.2 (Build 23C64) (Physical RAM: 16Gb)
Mac Model Identifier: MacBookAir10,1
Language: en-GB (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1
Color LCD (1440 x 900 @ 60.00Hz)
Studio Display (2560 x 1440 @ 60.00Hz)

USB devices
Logitech: USB Receiver
Apple: USB3 Gen2 Hub
Apple Inc.: Studio Display

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswiftObservation.dylib
/usr/lib/swift/libswiftWebKit.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftMapKit.dylib
/Users/dougscott/Library/Application Support/McNeel/Rhinoceros/packages/8.0/IntelDenoiser/0.6.7/libtbb.12.dylib
/Users/dougscott/Library/Application Support/McNeel/Rhinoceros/packages/8.0/IntelDenoiser/0.6.7/libOpenImageDenoise.1.4.3.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino
/Users/dougscott/Library/Application Support/McNeel/Rhinoceros/packages/8.0/IntelDenoiser/0.6.7/IntelDenoiser.Mac.rhp “IntelDenoiser.Mac” 1.0.0.0

Rhino plugins that ship with Rhino
/Applications/Rhino 8.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/PlugIns/AnimationTools.rhp “AnimationTools” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.2.23346.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.2.23346.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.2.23346.13002

Thank you! I’ll check to see if anyone here at McNeel has this model to test with. I searched our list, but I couldn’t find one just yet.

Hi,

I have exactly the same problems on my MacBook Pro M1 with similar setup: 16Gb ram, total number of Cores: 8

  • Mac Studio Display.
    I made tests by drawing simple lines in new file, in wireframe mode and in rendered mode in perspective view: Rhino 7 is much faster (can’t work normally in R8 :frowning: ).
    There is only way to work with R8: when you activate “TestMetal” command, then all feels like in Rhino 7. Maybe R8 and Metal needs better hardware?
1 Like