Rh8 on Mac - maximising the Performance?

Hi Rhino community,

I’ve been a user of Rhino on Windows for the past 22 years, but finally made the shift over to Mac with a new MacBook Pro 16". So new to Mac, not new to Rhino.

I’m struggling to make anywhere close to the same performance claims mentioned for Rhino 8 on Mac.

The Macbook Pro is optioned up to the highest possible spec so I was expecting it to be blisteringly fast.

2023 16-inch MacBook Pro
Apple M3 Max chip with 16‐core CPU, 40‐core GPU,
16‐core Neural Engine
128GB unified memory
8TB SSD storage
16-inch Liquid Retina XDR display

Yet when I run the test file “Test-Holomark-2.3dm Car model from Holomark 2, tested in Rendered mode.” with the command TestMaxSpeed I’m getting about 54 FPS rather than the claimed 111 FPS - when really I was expecting much faster as the benchmark unit was a 2021 M1 Max Macbook with 32 core GPU. ( Rhino - Built for Mac: Metal )

When I have the Activity Monitor open while running the TestMaxSpeed command, I’m not seeing any blip in the amount of RAM memory being used or CPU load. It’s staying at around 5%

Are there any settings or tricks I can do to really extract the most out of this Mac? Keeping in mind I’m new to Macs so may be missing something obvious?

I started looking into this as really the ray tracing feature just wasn’t running anywhere near as fast as I would have expected. I understand the resolution on this machine is much higher than my old one but still, I was expecting a lot more and it’s falling short of the benchmark tests by a long way.

Is there any performance throttling in the Evaluation license? Is there anything I’m missing?

Appreciate the support,

Hi Laurence-

Display performance is going to depend on a lot of factors. I know that sounds like some vague hand-waving (because it is), but we’d need to pin down quite a few things. 54 fps is nothing to sneeze at, but I suspect what we’re seeing here is the driver capping out at around 60 fps because the Refresh rate is set to 60 Hertz.

In order to get above 60 fps, you’re going to need a display that supports it and, by the look of it, you should…

If you navigate to System Settings > Displays > Build-in Display > Refresh rate

…is it set to ProMotion?

No, unfortunately Rhino on Mac is just a giant bottleneck as it’s written, and would require to be completely re-coded to take advantage of Apple Silicon power.
Rhino on Mac is not ready (and probably will never be) to be used for professional uses. It just performs super badly.

At least parts must already have been recoded to make Rhino 8 work natively on Apple Silicon, which it does. There’s also a noticeable performance boost when going from Rhino 7 to 8 for macOS.

I use it both professionally as an architect and in private as a “maker”, and I can’t complain. There’s always things to improve, but overall it’s a great piece of software with fair pricing.
Your reply is clearly exaggerated, but I hope you’re aware that even after the release of a version, nothing is set in stone, meaning Rhino is constantly being worked on and thus improved.

There are also a lot of noticeable step backs in performances (on Apple Silicon), so it really depends on the task.

I agree that Rhino (our main tool) has to be constantly improved. I agree that the rendered mode does perform very bad (although the viewport performance in renderd mode can be drastically improved by changing the shadow quality settigs).
But apart from that, RH8 is a great improvement overall… I think you are extrapolating your experience with the rendered view to all other aspects of Rhino. I could be missing sth though of course

I agree.

Even the standard shaded mode is laggy on Silicon RH8 compared to RH7 running under Rosetta - McNeel had to turn off real-time update of world coordinates to get it work with a decent frame rate!
It means that there are fundamental problems under the hood and the porting to Silicon/Metal is poorly coded, and a lot of stuff is based on workarounds and superficial band-aids.
I PERSONALLY wouldn’t recommend Rhino on a Mac for professional uses - it’s a real PITA to work with. But of course you’re free to disagree.

This does not reflect my (short) experience with an AppleSilicon Mac. With my test R8 was signifiantly, sometimes 10x faster than R7 Rosetta.
If R8 is really slower than R7 Rosetta, then I hope there is an open topic for this, so the devs can fix it.

Hi Dan,

Thanks for taking the time to include the screen shot - appreciate it. I checked the settings and it’s already set to ProMotion and still experiencing mid-50 FPS with the test on the Holomark Mini car model

When I run another test on a much more primitive view model and with a more primitive model of some basic shapes and I get around 68 FPS on that (so above 60 FPS) and if I turn the shadows off I can get it up to about 114 FPS.

So it looks like I’m not capped by screen FPS.

Also if I drop back to 4-port viewport layout and run the test on the rendered Mini car with the 1/4 screen size, I get 114 FPS. So it seems to be depending on the screen size.

What I am noticing is in the Activity Monitor - it still seems to be the Efficiency Cores 1-4 doing most of the work. Cores 5 through 16 labelled Performance seem to be extremely idle.

The FPS is still great sure, but this brand new fully specced machine should be faster than the one used for the claimed benchmarks and I’m getting 50%… so that’s concerning… and my work isn’t so much with animation but it’s more that I was expecting a lot more from the Raytracing renders. I don’t get why it’s not running blisteringly faster than my old machine. That’s the area I’d really like to see going faster. The FPS is what I’m looking at just for the benchmarking because those figures were quoted and comparable.

Any tips or tricks to get the most out of the configuration would be much appreciated.

For the viewport, the most interesting utilization would be that of the GPU, not the CPU I guess…

Thanks for double-checking that.

Definitely. Performance and resolution are intricately linked. In our benchmarks, a 1600 x 900 resolution was used. (-_ViewportProperties S 1600 900 enter )

What resolution are you testing with?

Raytraced is a separate thing. We are doing some more work in the 8.x lifecycle to hopefully :crossed_fingers: make Raytraced viewports faster, but this is a separate effort from the other display modes driven by Metal.