[R8 MAC] Graphics Performances

I’m having trouble seeing anything different between these two videos.

1 Like

(solved)

I see the difference instantly. The V8 example exhibits a massive frame pacing issue, meaning that it renders the movement of the object in an irregular fashion. For example, the object may rotate (it’s actually the camera) on the screen with 10 pixels for the initial 50 milliseconds, then it moves 20 pixels in the next 50 milliseconds, then it moves with 7 pixels in the next 50 milliseconds. That particular delay and compensation of the frames causes irregularity of the motion smoothness.
I also experienced that in my Rhino 8 WIP for Windows 10 months ago, but since then it was fixed and now Rhino 8 BETA is smooth on Windows 10. Only the Rendered display mode exhibits frame pacing issues even now, but I guess it’s related to the shadows used in this particular mode.


Oh, yes, and here is the difference between 2x and 8x Anti-aliasing in Rhino 8 BETA (Rhino 7 is so much better in making the lines super smooth even at 4x):

Anti-aliasing.rar (2.4 MB) (same images inside with 100% quality)

1 Like

update 20/10/2023 – The title of the thread changes (from initial “Metal still far from usable?”), as most of the issues pointed out initially are now solved.

I cleaned up a little bit my posts, so it’s easier to focus on what’s still WIP – especially the stuttering issue.

As the discussion has moved for a while on another thread, I’d like to bring it back here.
The issue has been identified and it’s currently being worked on.
The stuttering issue seems to be related to the constant updating of the camera and target controls on the Properties panel – this has to be confirmed further.

@Rhino_Bulgaria I think that your anti-aliasing performances issues on Windows deserve a separate thread.

1 Like

Ah you’re right, I forgot about that. Works like a charm with no SSAO degradation, thanks!
Question: why isn’t this set as the default behaviour?

Curious to know. If it’s like that, could we have an option to disable the real-time updating?

1 Like

@stevebaer here’s another weird lag happening e.g. in Rendering (default, without customisation) mode: everything seems to work more or less Ok (but actually pretty “delayed” relative to the mouse/trackpad input!) with the 4 viewports opened, but becomes super laggy when the Perspective view is solo’d. This with and without SSAO degradation.

I’m not seeing this on my current Mac setup, but I’m also on an M2 so our results should be different. We’ll need to check around with some other Macs and see if we can repeat the lag.

This lag has been introduced with one of the last v8 betas – I have been working with a complex model in Rendered view last week with an older beta and everything was super smooth!

Regarding the responsiveness of the Rendered viewport, I am also seeing a very slow performance with TestMaxSpeed of my MBP16":
Shaded 65fps (screen fps max)
Rendered 1fps ???

Rhino 8 SR0 2023-10-19 (Rhino 8 BETA, 8.0.23292.13304, Git hash:master @ bdbf32cf54f4fdd6a528fcb0214c29cce2cdddbe)
License type: Educational, build 2023-10-19
License details: Cloud Zoo
Expires on: 2023-12-03

Apple macOS Version 14.0 (Build 23A344) (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)
    HP Z27n G2 (2560 x 1440 @ 75.00Hz)

USB devices
  GenesysLogic: USB3.1 Hub
  GenesysLogic: USB2.1 Hub
  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/libswiftFileProvider.dylib
  /usr/lib/swift/libswiftIntents.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/libswiftAccelerate.dylib
  /usr/lib/swift/libswiftCoreML.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/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/MacPlugIns/DatasmithRhino7.rhp/DatasmithFacadeCSharp.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/MacPlugIns/DatasmithRhino7.rhp/libtbbmalloc.dylib
  /usr/lib/log/liblog_network.dylib
  /Users/rudolfneumerkel/.rhinocode/py39-rh8/libpython3.9.dylib
  /Users/rudolfneumerkel/.rhinocode/py39-rh8/lib/python3.9/lib-dynload/_heapq.cpython-39-darwin.so
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libkaramba.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libiomp5.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libmetis.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libarpack.2.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libc++.1.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libopenblas-r1.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libgfortran.5.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libgcc_s.1.1.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libquadmath.0.dylib
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Karamba3D/2.2.0.161/libs/libc++abi.1.dylib


Rhino plugins that do not ship with Rhino
  /Users/rudolfneumerkel/Library/Application Support/McNeel/Rhinoceros/MacPlugIns/DatasmithRhino7.rhp	"Datasmith Exporter"	5.0.2.0

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


Please disable the datasmith plugin and restart to retest. It may not have any impact, but I want to eliminate any possibility that a plugin is causing issues.

I disabled it, nothing changed.

btw. the DataSmith plugin is a non-stadnard third party one right? I guess it was automatically installed with installing TwinMotion…

That is correct.

Are you seeing this slowdown for a certain model or can you repeat 1fps with a scene that has a single box?

Single Box is sufficient to get 1fps

Yuck; did this just start in a recent beta?

@jeff are you able to repeat incredibly slow framerate on you AMD Mac with rendered mode?

I am seeing some pretty bad performance in Rendered mode on the iMac/AMD…However, I’m also seeing it on the M1.

But keep in mind… The final frame for Rendered mode is a full render with high resolution SSAO…and the default setting for TestMaxSpeed is to have “Dynamic Draw” mode disabled…which means you’re not going to “see” or get the same performance you get when manipulating the view.

That being said, I’ll see if I can figure out why things appear to have gotten worse.

-J

Ya, it’s definitely the final SSAO rendering that’s hosing things… Don’t know why yet, still digging.

-J

1 Like

So… Rhino 8 has been released, but the Rendered view is still unusable and model navigation is still stuttering.

Any news about those huge issues?

@the_eraser I can repeat the lagging mouse behavior here.
RH-78033 Display performance in Metal Arctic

@the_eraser please try running the test command TestIdleBehavior to see if it gets rid of the stuttering while navigating in your model. This command turns off updating of the mouse and camera positions during navigation. If that makes a difference, then we know what to focus on for optimization.

Yes, the test command works well, it doesn’t stutter anymore when the dynamic update is off.
Rhino 8 is supposed to improve Rhino performance on Silicon boards, not the opposite!