[R8 MAC] Graphics Performances

Thanks for testing. I’ll adjust the code to make this test command unnecessary.

which it definitely did.

1 Like

Definitely. But it’s certainly not ready yet:

1 Like

well, it cant be there everywhere :wink: i luckily dont have such issues.
on second notice, i actually remember having such issues when i left the model running for a while and came back later, but only specific modes, what are you using there?

lucky you.

A fresh new Rhino instance. But if you scroll up the topic you can see that it’s not just me:

i believe your cynicism does not contribute a whole lot to the general moral here, i also am often frustrated but if you just go against everybody you will not accelerate anything

3 Likes

I am going nowhere against nobody – please keep any moral lesson for yourself.
Also, if the issues described in this thread does not concern your experience with the software, don’t pollute it with useless content.

Here are my results with a simple box with my Intel MBP 16"

RH7: 28fps
RH8 (Metal): 3.7fps
RH8 (OpenCL): 5.2fps

Clearly a regression. Even when comparing OpenCL with OpenCL…

Hope this is helpful

Rhino 8 SR0 2023-10-31 (Rhino 8, 8.0.23304.09002, Git hash:master @ 20e15cf9bd66e6676f849f22e485cb3e82a8beac)
License type: Evaluation, build 2023-10-31
License details: Cloud Zoo
Expires on: 4674337-08-16

Apple macOS Version 14.1 (Build 23B74) (Physical RAM: 16Gb)
Mac Model Identifier: MacBookPro16,1
Language: en
.NET 7.0.0

Metal GPU Family Apple 0
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
  Intel UHD Graphics 630 (1536 MB)
  AMD Radeon Pro 5300M (4 GB)
    Color LCD (2048 x 1280 @ 59.00Hz)

USB devices
  Apple: composite_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

Bluetooth devices
  None

Third party kernel extensions
  com.intel.driver.EnergyDriver (3.7.0) 35E739F9-BF6C-3024-A67C-750711B3FB64
  com.Cycling74.driver.Soundflower (2) 2D779840-7439-31E5-8A66-D786C3F47B75
  com.paragon-software.filesystems.ntfs (149.8.15) B3791A17-53DF-3B03-9FF5-298D092ECF8C

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
  /Library/Frameworks/3DconnexionClient.framework/Versions/A/3DconnexionClient
  /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.0.23304.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp	"Commands"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp	"Snapshots"	8.0.23304.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp	"RhinoCodePlugin"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp	"RDK_EtoUI"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp	"MeshCommands"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp	"Rhino Render"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp	"RhinoCycles"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp	"SectionTools"	8.0.23304.1002
  /Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp	"Displacement"	8.0.23304.1002
  /Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp	"PanelingTools"	8.0.23304.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp	"IronPython"	8.0.23304.9002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp	"Grasshopper"	8.0.23304.9002


deleting your posts after they have been handled and changing them or marking them as solved is missing content for somebody trying to follow, the likes of your posts get falsified and voila you polluted the entire topic with useless changes. editing is usually meant to correct typos.

my question was maybe ambiguous but being a role model did not help in spotting that either. what i meant is what mode you used, to be specific what did you change going into details. i noticed that the performance drops might have to do with the shadows being active.

1 Like

In what display mode are you testing? See also if -TestMaxSpeed with DynamicDraw enabled gives you the same numbers. That represents better the actual display performance.

My “lucky you” wasn’t “cynical” neither. I meant it.
Anyway, I am using default Rendered mode – with no tweaks – in the video, with TestDynamicSSAO enabled. I tested it with and without SSAO degradation, and it doesn’t have an impact on the framerate – it’s just 100 times nicer to look at when it’s disabled and behaves like R7 does.

MacBook Pro M1 PRO 10-Cores (2022) – SSAO degradation ON:

that’s because TestMaxSpeed redraws on every frame fully. Try the dashed version -TestMaxSpeed with DynamicDraw enabled and TestDynamicSSAO disabled. You should get much higher framerates.

btw: I’m still puzzled by the fact that your SSAO flickers when you rotate, I don’t see that behavior here.

What’s DynamicDraw?

Did you try with trackpad? It’s because Rhino changes from lower to higher quality SSAO back and forth multiple times for each movement (when fingers touches the trackpad, when fingers moves, when fingers are released, and so on). I don’t get why SSAO degradation should be desirable.

interesting… with enabled I get 119 fps.

Clearly a big issue if slightly older hardware is bogged down so much

Ok, I got it. Indeed, I get 50fps. Not huge, with a single box, but surely a lot nicer.
Still, apart from numbers, navigating a very simple model in rendered in real-life is considerably laggy (see previous video with four plain boxes).

TestMaxspeed is a test command for a reason, it’s just a way to compare things and not necessarily represents real world performance, be it for good or for bad.

Of course, we all agree on that, and it is logged.

yes, which makes me wonder if your hardware is also at play here. I cannot make it flicker in normal use, neither with the mouse nor the trackpad. Are you keeping your fingers on the trackpad or do you make a range of tiny movements to make this flicker? If it is the latter, than yes I can repeat it.

The latter – it’s how I’m used to work with a trackpad when I’m traveling.
I always prefer the way Rhino 7 “degrades” SSAO – it doesn’t do flickering –, is this a OpenGL-to-Metal translation issue?

thanks for confirming

I totally agree, and so do others at McNeel.

1 Like

well then into the last polluting part of it…

lets be honest here, the ambiguity of this phrase has become less reliable these days. also i am referring to the general spanky attitude you put into the scenery all over the place not just in this topic. personally i appreciate it on one side you are doing a great job and mcneel guys probably do to, but it is also about human and people here lets not forget that. over and out.

Not from my point of view, but I guess it must also be a cultural thing – I know how its literal translation sounds in Italian (“beato te”) and French (“la chance”) as those are my mother tongues, but I’m not used to it in other linguistic contexts. I’m sure there must be some kind of nuance that I’m not aware of.

This, I know, and I have no excuse – at the same time, it’s not a reason neither to receive moral lessons.
It’s also part of my Latin culture, which also is no excuse, but let’s not get into this kind of discussion.
Let me just apologise for being an asshole.