Rhino 7 Feature: Display Performance Discussion

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

And you haven’t setup an NVidia Profile for Rhino? If you’ve turned off VerticalSync permanently and are still seeing 60fps, then something else is turning it back on. When I do the same thing here with V7 WIP, everything works as expected… and if I set NVidia to “Use the 3D application settings”, then Rhino’s “-TestMaxSpeed VerticalSync=Disabled” also works as expected.

If you’re seeing 60fps with an empty scene in a wireframe view, then I’m pretty sure you’re still experiencing the vertical retrace delay. I’m also not understanding how it’s possible that your V6 Rendered mode is faster than its Shaded mode…that makes zero sense…unless you’re not working with the default settings for either of those modes.

-Jeff

Typed in “-TestMaxSpeed VerticalSync=Disabled” Ran 3 times Rhino WIP. Got 130 to 133fps.

Options ( FrameCount=100 DisplayList=NoRebuild DynamicDraw=Disabled VerticalSync=Disabled )
Time to regen viewport 100 times = 0.77 seconds. (130.72 FPS)

The more computers I test this with, the more disappointed I am, to be honest. I updated to 10.15.4 on my MacBookPro13,3 (AMD Radeon Pro 460 OpenGL Engine) and I don’t see an appreciable difference using TessellationShaders (testing with CurvesDemo.3dm).

And do you have any ideas why Mac rhino is performing so badly compare to the windows one?

Yes, it is clearly an AMD driver performance difference for tessellation shaders. Windows uses one set of drivers; macOS another.

1 Like

Thanks, let’s hope you guys can solve it.

1 Like

I hope the OpenGL material mapping issues will be fixed in V7.