Hi McNell Rhino Team, I have just downloaded the new Rhino 9 Beta for Mac, 9.0.26223.12304, and I noticed a huge decrease in performance when I tried to rotate or move the views. It’s close to unusable for larger models like I used to work with. The same model in Rhino 8 performs great. I’m using a MacBook Pro M5 MAX 64 RAM, and in Rhino 8, the performance while I’m modelling it is close to my desktop PC with a 4090 graphic card. Please let me know if you need more feedback or info. Thanks!!!
Pls run SystemInfo in Rhino and post back the results.
Do you see performance degradation in all display modes?
Can you share a model that shows this degradation or give me an idea about the model size and content (best if you can upload a model for debugging)
Is this the first time you see this in Rhino BETA, were earlier BETA releases better in that regard?
Hi @Gijs , sure this is the system info Rhino 8:
Rhino 8 SR34 2026-8-11 (Rhino 8, 8.34.26223.11002, Git hash:master @ f416e902495235e4e4a45cfc29ff1320cc8c70d8)
License type: Commercial, revisión 2026-08-11
License details: Cloud Zoo
Apple macOS Versión 26.6.1 (Compilación 25G76) (Physical RAM: 64GB)
Mac Model Identifier: Mac17,7
Language: es
.NET 8.0.14
Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M5 Max
BenQ PD3205U (3008 x 1692 @ 60.00Hz)
Color LCD (1352 x 878 @ 120.00Hz)
GPU Vendor: Apple
USB devices
Generic: USB Audio
Generic: USB Audio
VIA Labs, Inc.: USB Billboard Device
VIA Labs, Inc.: USB Billboard Device
VIA Labs, Inc.: USB Billboard Device
UGREEN: TBT5 Docking Station 17-in-1
Realtek: USB 10/100/1G/2.5G LAN
VIA Labs, Inc.: USB3.1 Hub
Generic: USB Storage
Bluetooth devices
None
Third party kernel extensions
None
Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Builtin_float.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswift_DarwinFoundation1.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftDistributed.dylib
/usr/lib/swift/libswiftObservation.dylib
/usr/lib/swift/libswiftSynchronization.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswift_DarwinFoundation2.dylib
/usr/lib/swift/libswift_DarwinFoundation3.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftMLCompute.dylib
/usr/lib/swift/libswiftSpatial.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftFoundation.dylib
/usr/lib/swift/libswiftSwiftOnoneSupport.dylib
/usr/lib/swift/libswiftsys_time.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswift_errno.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftCoreMediaIO.dylib
/usr/lib/swift/libswiftCallKit.dylib
/usr/lib/swift/libswiftPassKit.dylib
/usr/lib/swift/libswiftAppleArchive.dylib
/usr/lib/updaters/libAppleTconUARPUpdater.dylib
/usr/lib/updaters/libT200Updater.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftExtensionFoundation.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftMapKit.dylib
/Users/a8a/Library/Application Support/McNeel/Rhinoceros/packages/8.0/keyshot_studio/1.9.13/libsceneapi_wrapper_rhino.dylib
Rhino plugins that do not ship with Rhino
/Users/a8a/Library/Application Support/McNeel/Rhinoceros/packages/8.0/keyshot_studio/1.9.13/KeyShotStudioRhino8Plugin.rhp “KeyShotStudioRhinoPlugin” 1.0.0.0
Rhino plugins that ship with Rhino
/Applications/Rhino 8.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Renderizado de Rhino” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/PlugIns/RhinoRender.rhp “Renderizado de Rhino de versión anterior” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/PlugIns/export_STEP.rhp “Exportación STEP” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/PlugIns/SolidTools.rhp “HerramientasParaSólidos” 8.34.26223.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.34.26223.11002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.34.26223.11002
And System info Rhino 9 Beta, maybe is helpful both system info:
Rhino 9 SR0 2026-8-11 (Rhino 9 BETA, 9.0.26223.12304, Git hash:master @ 535bf21f011dc805eafa540606c59272f4f15b11)
License type: Commercial, revisión 2026-08-11
License details: Cloud Zoo
Expires on: 2026-09-25
Apple macOS Versión 26.6.1 (Compilación 25G76) (Physical RAM: 64GB)
Mac Model Identifier: Mac17,7
Language: es-ES (MacOS default)
.NET 10.0.2
Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M5 Max
BenQ PD3205U (3008 x 1692 @ 60.00Hz)
GPU Vendor: Apple
USB devices
Generic: USB Audio
Generic: USB Audio
VIA Labs, Inc.: USB Billboard Device
VIA Labs, Inc.: USB Billboard Device
VIA Labs, Inc.: USB Billboard Device
UGREEN: TBT5 Docking Station 17-in-1
Realtek: USB 10/100/1G/2.5G LAN
VIA Labs, Inc.: USB3.1 Hub
Generic: USB Storage
Bluetooth devices
None
Third party kernel extensions
None
Third party plugins
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreImage.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/libswiftObservation.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftSpatial.dylib
/usr/lib/swift/libswiftSynchronization.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Builtin_float.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswift_DarwinFoundation1.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswiftDistributed.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswift_DarwinFoundation2.dylib
/usr/lib/swift/libswift_DarwinFoundation3.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftMLCompute.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftFoundation.dylib
/usr/lib/swift/libswiftSwiftOnoneSupport.dylib
/usr/lib/swift/libswiftsys_time.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswift_errno.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftCoreMediaIO.dylib
/usr/lib/swift/libswiftCallKit.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftPassKit.dylib
/usr/lib/swift/libswiftAppleArchive.dylib
/usr/lib/updaters/libAppleTconUARPUpdater.dylib
/usr/lib/updaters/libT200Updater.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftExtensionFoundation.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftMapKit.dylib
Rhino plugins that do not ship with Rhino
Rhino plugins that ship with Rhino
/Applications/RhinoBETA.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Renderizado de Rhino” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/PlugIns/Displacement.rhp “Displacement” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/PlugIns/3DxRhino.rhp “3DxRhino.9” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 9.0.26223.1002
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 9.0.26223.12304
/Applications/RhinoBETA.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 9.0.26223.12304
About the 3D model, sorry, I can´t send you. The model is a complete producto with the enclosure, screws, and some electronic components exported as STEP files. The disk size of this model it´s 1,5 GB. When I turn off the layer with the imported STEP files the file in Rhino 9 runs correct, but with all the geometry on it´s very difficult, in Rhino 8 I can use all the layers on, and the performance it´s great.
About the display modes:
- Wireframe: Very slow, with “jumps”.
- Shaded mode: It´s unusable, you need to wait several seconds to rotate or move the view.
- Render View: It´s perfect like V8.
- Raytracer mode. Very slow.
- Semitransparet mode. It´s unusable, you need to wait several seconds to rotate or move the view.
So, the display degradation it´s in the Wireframe and Shaded.
This performance decrease was in the past Rhino 9 beta version, the past version is first that I tried.
Please, tell me if you need more info.
hi @Alberto_Ochoa large and/or confidential files can be uploaded here: https://www.rhino3d.com/upload
So this is a Rhino 9 BETA regression and not related to a specific BETA build if I understand correctly.
Without a model to reproduce this is going to be hard to debug, so if you can send the model that would be great.
So based on your display modes description, drawing of surface wires has degraded. You say that turning on the layer with the imported step files makes it crawl. What happens if you only compare one of the imported step files in both Rhino 8 and Rhino 9 BETA?
(a good way to test would be using TestMaxSpeed in a maximized viewport)
Hi @Gijs , you are right it´s not related to a specific BETA. Sorry but I don´t have the license from the client to share this files.
This is the TestMaxSpeed in Rhino V8. Wireframe Mode:
Time to regen viewport 100 times = 17.56 seconds. (5.70 FPS)
TestMaxSpeed in Rhino V9 Beta, Wireframe Mode:
Time to regen viewport 100 times = 278.98 seconds. (0.36 FPS)
TestMaxSpeed in Rhino V8. Shaded Mode:
Comando: Testmaxspeed
Time to regen viewport 100 times = 20.89 seconds. (4.79 FPS)
TestMaxSpeed in Rhino V9 Beta. Shaded Mode:
Time to regen viewport 100 times = 347.19 seconds. (0.29 FPS)
TestMaxSpeed in Rhino V8. Render Mode:
Time to regen viewport 100 times = 3.34 seconds. (29.93 FPS)
TestMaxSpeed in Rhino V9 Beta. Render Mode:
Time to regen viewport 100 times = 12.30 seconds. (8.13 FPS)
Please, let me know if you need more info
ok, I’ll try to see if I can get similar results with larger models.
Hi @Gijs , I have created 2 test files to test the performance decrease, please give your email for the upload pages. In these files you can see the performance decrease.
thanks in advance, I’ve sent you a pm
in the meantime, I did see performance degradation - although not to the same extent as what you are seeing - in a couple files I tested. Roughly 2-3 times, not the 3-15 you are getting.
I logged RH-97750 Display speed
FYI: I looked at the file, and see no differences with the file I tested and linked in the YT, similar 2-3 times slower performance
Ok, thanks for your feedback. Let me know if you need more info, it´s great to help in the process of Rhino 9. I was a bit worried that the issue was only in MAC, but I saw in your ticket that the performance decrease it´s the same in PC, I haven’t test the files in my PC desktop
Sorry for my question as non-developer, just as a user since 1998. Is Rhino 9 Beta visualisation core code being completely re-written?
I wouldn’t say completely rewritten, but the changes have been large recently. In Rhino 8, we rewrote the display to work on Apple’s preferred GPU technology which is called Metal and in Rhino 9 we are adjusting the Windows build to use Direct3D as an alternative to OpenGL.
Thanks Steve, much appreciated.