Rhino 7 Feature: Display Performance Discussion

Some stats from my side:

300mb file, lots of meshes, breps

Rhino for macOS

RH6 Shaded: 30fps
RH7 Shaded: 20fps

RH6 Rendered: 2.4fps
RH7 Rendered: 2.3fps

Rhino for Windows running BootCamp

RH6 Shaded: 95fps
RH7 Shaded: 63fps

RH6 Rendered: 4.3fps
RH7 Rendered: 4.0fps

For this specific model display performance with Shaded Preview seems to be around 30% worse in the newest WIP.

And we can also see, that the Mac version has to catch up with some more fps… being around 2-3x slower. Hope the new update for macOS improves the situation as well :muscle:

I did a test with a 2 GB model in a Worksession with a 1 GB model attached.
V6 Win. (custom display mode with transparency) : 7.56 FPS
V7 Win. (custom display mode with transparency) : 8.72 FPS

Nothing too amazing, but in that project, blocks hardly repeat (GH saved our asses here).
Blocks here are mostly used to create a “2 level” hierarchy between base parts and welded assemblies.

Wow, that is massive. Comparing mac and windows running through BootCamp. One would say it can´t be much better since it runs on the same hardware…

edit: which could be explained by the display bug Steve mentioned I guess…

That’s the hope. Our initial tests on AMD GPUs showed a significant bump in performance for drawing wires (curves, surface edges,…). We’ll just have to wait and see. I don’t know Apple’s schedule for when their next OS service release will be.

3 Likes

That’s great to hear! Can’t wait for the update.

Hey @stevebaer, I just installed the newest macOS 10.15.4

I made some before/after comparisons, but couldn’t see any performance difference (Δfps was less than 1%)… Is this the update that should have fixed it, or are the necessary fixes not included in this update?

Checked with two different models with Shaded, Ghosted and Rendered Preview and Meshes, Breps and blocks and with both RH6 and RH7.

Thank you a lot!
Greetings,
Rudi

I’ll try to update today to get the latest OS patch. I believe you need to enable gpu tessellation in Rhino, but won’t have decent instructions until after I update.

Idon’t know if rendered or shaded makes a difference, and I’m getting varying numbers. Here are a few results of several runs. 5mb model. The 152 fps was an anomaly.

V6
Shaded
Command: TestMaxSpeed
Time to regen viewport 100 times = 1.64 seconds. (60.98 FPS)

Rendered
Command: TestMaxSpeed
Time to regen viewport 100 times = 0.66 seconds. (152.44 FPS)

WIP7
Shaded View
Command: TestMaxSpeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)

Rendered View
Command: TestMaxSpeed
Time to regen viewport 100 times = 2.06 seconds. (48.50 FPS)

Hi @CalypsoArt, try running the TestTogglePbrDisplay command in WIP7 and rerun TestMaxSpeed on Rendered display mode. Does this make a difference? This will help us figure out where the problem is in the V7 WIP.

I just installed this as well and am also not seeing any performance improvements. @dan is going to test with his computer again (he tested with the beta of the OS update). It may be a GPU specific fix, we are just not sure yet.

Just so you know, I’m on Win10.

(Rendered mode)
Command: Testtogglepbrdisplay
Using legacy rendered mode (PBR materials will be rendered as if they were legacy materials).
Command: Testmaxspeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)

During the same session of Rhino, please run TestMaxSpeed three times in rendered mode and record the numbers. Then run TestTogglePbrDisplay and run TestMaxSpeed another three times. I would like to get these numbers all during the same run of Rhino.

Thanks

Command: Testmaxspeed
Time to regen viewport 100 times = 1.66 seconds. (60.35 FPS)
Command: Testmaxspeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)
Command: Testmaxspeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)
Command: TestTogglePbrDisplay
Using rendered mode with PBR material support.
Command: TestMaxSpeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)
Command: TestMaxSpeed
Time to regen viewport 100 times = 1.66 seconds. (60.39 FPS)
Command: TestMaxSpeed
Time to regen viewport 100 times = 1.64 seconds. (60.94 FPS)

Ok, so that seems to make no difference and the numbers are consistently right at 60 FPS. @jeff do you know if we have vsync on for V7?

Rhino has Vsync on as default in V6 at least.
So use -TestMaxSpeed and type v to toggle it off:

-Testmaxspeed FrameCount=100 DisplayList=NoRebuild DynamicDraw=Disabled VerticalSync=Disabled

Except there was a result in the stratosphere in his first test. I always run at least three tests in a row and throw out anomalies.

1 Like

Good point. My experience is that when I get 60.3 fps then that is a clear indication that Vsync is on :slight_smile: But chanses do happen and it can be a coincidence, so it is important to check!

There is really no point in comparing numbers above 60 FPS for tests. It is only models that run well below 60 FPS that we really need to work on to improve.

1 Like

I’ll take a look at the V7 code. It’s possible that someone changed the command n V7 and broke the VSync setting

-Jeff

You definitely have the VSync enabled on your system…and if the TestMaxSpeed option to disable it isn’t working, then it’s most likely because you’ve got it “Always Enabled” in your GPUs Global Settings. And the only reason I can think of for why V6 doesn’t show the VSync Enabled, is because there is a “Rhino Profile” setup for the V6 “Rhino.exe” that is configured to turn the VSync OFF.

Any time you see a frame rate of (60.xx), it’s almost always the VSync…and you’ll always see it, no matter what the display mode or scene is. Even a blank scene using the Wireframe display mode will only yield 60.xx fps.

Look in your GPUs Control Panel applet, and try disabling VSync there.

-Jeff

Well if VSync = Virtical Sync, the nVidia app has 3 options, Use the 3D application settings, Off and On. It was set to the first. I set to off and restarted WIP7. Resulted in the same times of 59.XX