When will Rhino support metal? V8

I bought a MacBook Pro 16, I love this machine as much as rhinoceros 3d…

I hope rhino support metal…

Hi -

The Rhino 8 WIP has the TestMetal command that you can try.
-wim

thank you very much !

Excuse me, but if I have to ask you one more question, when will it be stable? And when will the official release date of Rhino 8 be??

Hi -

The answer to both of these is “when it’s ready”. We don’t know when that will be.
-wim

1 Like

From my testing of Rhino 8 WIP on a M1 max, Metal WIP is much much more responsive than the OpenGL version. Maybe more than twice as fast as on the current Rhino 7 build. Feels great.

3 Likes

which mac exactly are you using?

Model Name: MacBook Pro
Model Identifier: MacBookPro18,2
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 32 GB
Chipset Model: Apple M1 Max
Type: GPU
Bus: Built-In
Total Number of Cores: 32
Vendor: Apple (0x106b)
Metal Family: Supported, Metal GPUFamily Apple 7

I noticed some other bugs though. So right now I have to switch back to Rhino 7.

Yes just tested Rhino 8 WIP on my Macbook Pro M1 using ‘testmetal’ and it is very responsive with many poly surfaces. However I ran into a bug with an imported step file wherein the meshes randomly changes shape during rotation and links to other poly surfaces, so when I try to move an item, it moves another unrelated item. I was honestly expecting more bugs for sure and was impressed by the progress made so far. One more note is that the scene become much lighter/brighter, almost washed out in colour when in Metal mode. This was all using Rendered mode btw :slightly_smiling_face:

rendered mode still has a ways to go… I’m sure you noticed no shadows and just default lights, no skylight etc. Please keep updating and testing!

I figured there is still mountains of work left in order to port to Metal. So I just poke around with the WIP on occasion. Like others in this topic thread, I am eager to get full Metal support in Rhino 8. I will definitely test out the WIP when I get time.

2 Likes

Hi
I am using Rhino on a MacBook 13 inch with intel processor.
I work in ship design and work with large ship models with lots of information in them and my current MacBook isn’t powerful enough to handle the models.

I found this thread thread because I am still not sure if it makes sense to buy a new M1 or M2 MacBook, because i would mainly do this to have improved performance with Rhino and AutoCAD.

But if the Rhino software doesn’t support metal yet, then I guess it doesn’t make sense yet to swap.

I tried testmetal on my intel MacBook and opened a heavy ship model (1.4Gb file size) with it.
After rotating the view in shaded mode Rhino crashes pretty much instantly.

Is that because testmetal is not designed for intel?

Kind Regards, Chris

Hi Chris,
Your Intel Mac supports metal. We have been making a lot of changes in the metal display code lately and I suspect the crash is due to this. Please try the test again with next week’s WIP and see if you can repeat the crash. If you can, then we should try to figure out how we can repeat the crash on a developer’s computer to figure out a fix.

Hi Steve
Thanks and yes, I will do that and I will let you know how it went.

Hi @stevebaer

I didn’t see the “testmetal” item added to the change log of the last update, so the below might be expected behaviour.

When I open a heavy model in the latest WIP version (8.0.22277.12306, 2022-10-04), then activate testmetal and then try and rotate the model, this has a negative effect.

The mouse almost doesn’t move anymore, also outside Rhino, very laggy, and other MacOS apps don’t respond anymore.
The Rhino window basically freezes.

Leaving the computer alone for a while, then the rhino window turns black and the MacOS works normal again.

The performance without “testmetal” was ok, actually.

Maybe this helps. If you would like to see any specific logs or so, just let me know.

MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
Processor 2.3 GHz Quad-Core Intel Core i7
Memory 32 GB 3733 MHz LPDDR4X
Graphics Intel Iris Plus Graphics 1536 MB

KR, Chris

If you had already run _TestMetal once to use Metal then you shouldn’t run it again. You run it once, check that the viewport says Metal: work in progress instead of Legacy OpenGL display. This state is remembered between sessions as well, so don’t run the command again, as it will switch back to OpenGL

HI Chris -

Is this the same behavior that you referred to as instantly crashing or has the behavior changed with the latest update?

Also, please run the Rhino SystemInfo command and copy-paste the result here.
-wim

Hi Wim

Last time the entire computer crashed once, when I switched to testmetal.
A second time just Rhino crashed.

This time Rhino only went into the “black screen”.
When I tried it again now, it went into the black sacreen again, but I get the rainbow mouse and Rhino didn’t recover in the last 4-5 minutes.
See screenshot below.

image

Systeminfo:

Rhino 8 SR0 2022-10-4 (Rhino WIP, 8.0.22277.12306, Git hash:master @ c1431b875fa2bfebc0a16c88bb959d6070d51d85)
License type: Commercial, build 2022-10-04
License details: Cloud Zoo
Expires on: 2022-11-18

Apple macOS Version 12.6 (Build 21G115) (Physical RAM: 32Gb)
Mac Model Identifier: MacBookPro16,2
Language: en-DE (MacOS default)

Intel(R) Iris™ Plus Graphics OpenGL Engine (OpenGL ver:4.1 INTEL-18.8.5)

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: Intel Inc.
Render version: 4.1
Shading Language: 4.10
Maximum Texture size: 16384 x 16384
Z-Buffer depth: n/a
Maximum Viewport size: 16384 x 16384
Total Video Memory: 1536 MB
Graphics: Intel Iris Plus Graphics
Displays: Color LCD (298dpi 2x), LG ULTRAWIDE (112dpi 1x), Thunderbolt Display (109dpi 1x)

Metal GPU Family Apple 0
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Intel Iris Plus Graphics (1536 MB)
Color LCD (1680 x 1050)
LG ULTRAWIDE (3840 x 1600 @ 60.00Hz)
Thunderbolt Display (2560 x 1440)

USB devices
HD Web Camera: HD Web Camera
Realtek: USB 10/100/1000 LAN
Texas Instruments Inc.: Texas Instruments USB Billboard Device
Apple Inc.: Touch Bar Backlight
Apple Inc.: Touch Bar Display
Apple Inc.: Apple Internal Keyboard / Trackpad
Apple: Headset
Apple Inc.: Ambient Light Sensor
Apple Inc.: FaceTime HD Camera (Built-in)
Apple Inc.: Apple T2 Controller
Apple Inc.: Apple Thunderbolt Display
Apple Inc.: FaceTime HD Camera (Display)
Apple Inc.: Display Audio

Bluetooth devices
None

Third party kernel extensions
com.Logitech.ControlCenter.HIDDriver (3.9.14) 0BBE3CAB-B1E2-39B5-AFE3-D9580F4A12DC
com.kairos.driver.DuetDisplay (1) 7620686C-E9CE-3C70-AA12-DC77DABA52DD

Third party plugins
/usr/lib/swift/libswiftAppKit.dylib
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreData.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/libswiftFoundation.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftCloudKit.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftContacts.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftNetwork.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftPrivate_BiomePubSub.dylib
/usr/lib/swift/libswiftPrivate_BiomeStreams.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRoslyn.rhp “RhinoRoslyn” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/PlugIns/Constraints.rhp “Constraints” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/ConstraintsUI.rhp “Constraints UI” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCPython.rhp “RhinoCPython” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.0.22277.12306
/Applications/RhinoWIP.app/Contents/PlugIns/RhinoRender.rhp “Legacy Rhino Render” 8.0.22277.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.0.22277.12306

If you start Rhino with a completely blank model, do you get a black viewport with metal enabled?