Stuttering rotations while moving cursor on viewport

Personally, I’d prefer the priority was put on status bar stutter during ongoing commands.

Anyway

I did post a video in slowmotion back there. Turntable alone have frametime that vary +/- 50% or even more.
I can see that all day, but maybe because i’m used seeing high smooth framerate.
For example most of people are not bothered seeing fast scenes at cinema’s 24fps, i do, i’m used to solid 60fps and 24 is less than half!

I don’t want to stick on the frametime matter in specific but, for example, disabling status bar and properties tab make the turntable run 3x faster! (not moving any mouse all the time).
It’s like the viewport camera animation (turntable in this case, 3dmouse in other) is already “choking” on the Rhino UI itself!

This is about me being able to reproduce what you are seeing. If I can’t reproduce the problem, I can’t fix it. I don’t know which specific video you are referring to above and have been testing turntable on an empty scene with a standard mouse. This is why I was asking if your grid settings were custom as that is the only difference I can think of at the moment between your tests and mine.

How are you determining frame rate? I doubt the actual time it takes to redraw a frame in a viewport is changing, but if you have a tool for viewing frame rate during the Turntable command, then I would like to see what you are seeing.

You’re right.

My sight.

But again, talking about frametime is the lesser problem. Having 3dmouse animation totally haltering during a command (if moving the cursor) is the bigger problem.

Anyway.
So far, using a software to record the screen change the context and actually slow down or even speed up the turntable animation. (Observer effect (physics) - Wikipedia lol)
I can record it at 960fps with my phone, and i did upload a video back then ^ …

I just found out we can use FPS monitor (FPS Monitor - Ingame overlay tool which gives valuable system information and reports when hardware works close to critical state) to add an overlay, and luckily it doesn’t alter the situation. Used this profile: FPS 2.json (53.4 KB)
(beware, it randomly made my rhino crash sometime)

So, no 3dconnexion connected, an empty rhino file:
PT = Properties tab
The interesting part is the white graph line (frametime), i’m sure you know how to read it.


Just moving the cursor on viewport. PT on.
moving mouse Prop on


Just moving the cursor on viewport. PT off. Much more stable frametime.
moving mouse Prop off


Turntable. Still cursor. PT on. Low FPS, some frametime spike.
turntable prop on


Turntable. Moving the cursor. PT on. More spikes.
turntable prop on moving mouse


Turntable. Still cursor. PT off. Best scenario! (the spikes on left are the screenshot keypress)
turntable prop off


Turntable. Moving the cursor. PT off. Spikes due to having Status bar on. If off, this doesn’t happen.
turntable prop off moving cursor


From one context to the other the FPS and/or frametime change by 10x … while there isn’t even anything to “snap” on or else.
My comparison with games was probably stupid … but while on games the more raw power you put and the more fps and stability you get (generally), here on rhino we have problems without even having a mesh triangle on screen!
Life is unfair :sob:

I’d love to have an always-smooth navigation on rhino.
(When the geometries loaded are too many for the GPU/GPU, ok, that’s a different matter…)

That frame rate tool is giving good information, but is a bit misleading. The time it takes to draw a single frame in Rhino is not changing. The issue is that there are other windows that are updating and causing a lag in the overall turntable effect. When turntable is on, all event from the operating system are being processed which is why the status bar updates or you can adjust the viewport with the mouse. TestMaxSpeed is different in that it is not allowing other messages to be processed while it is running.

Are your tests with a 3d mouse? I thought you reported that this was reproducible with a standard mouse.

No, it’s not even plugged. (I mentioned that in my … very long post)

Yes, any (2D) mouse on any hardware, as far as i’ve seen. But the turntable tests, to see the differences of having properties tab on or off it doesn’t even need to have the cursor take a role in this matter.

About stuttering and frametimes, anything that slow down turntable also slow down the 3dmouse navigation. There are common problems. That’s why i’m using turntable as a meter. It’s not like i use turntable function in my workflow :sweat_smile:

During TestMaxSpeed coordinates on Properties tab and Status bar are not updated (like it usually happen all the time) … so I’m not sure it gives useful information.

But, again, sorry to be pedant, i necro-ed this thread because currently moving the 3dmouse + moving the cursor during a function (for ex, 3d trimming of packed surfaces… very common) results in a total freeze of the viewport…
“Solution” is turning off Status bar.

Edit: on my G502 i can set up a pooling rate that avoid this problem, but on the new office i’m working i have some machines with their own mouses and those are not set-able.
Status bar is still making problems in situations as described ^ .
I can replicate that by setting 1000Hz on my G502 …

Edit2: FPS Monitor might be not perfect, but it says the same things my eyes see… i can see those micro stutters, believe me or not.

I get it :slight_smile: Just trying to figure out a repeatable case.

I was trying to explain that the true frame rate of drawing a viewport is not changing; the issue is that other windows on your screen are responding to messages for updating and are slowing down the perceived frame rate. It really doesn’t matter as the perceived frame rate is really all that matters with respect to this discussion.

What specific Rhino command are you using?

Seems like any command that require user to pick an object: trim, blend curves, blend surface, etc…

(sorry for my ugly english :upside_down_face: )

On my main Pc, no problem, i can set it to 125Hz pooling rate.
But on another workplace, 3dmouse + random cheap mouse can results in this:

Thanks, and that is not ugly English :slight_smile: I see that the mouse is just filling the windows message queue when in this high resolution mode. I’ll probably need to order one of these to figure out how to make improvements

1 Like

Is this the mouse that you are using?

No, i have this:


But its very likely that what you linked have the same software with programmable profiles and pooling rates…

Thanks, I’ll try a few things before I buy one of these. I hate to purchase things that will just end up in a landfill or under my desk after a month of testing if I don’t need to.

I am working on an idea that may improve the situation with the status bar and these high resolution input devices. I’ll try to get something into the V7 WIP for next week.

2 Likes

I rewrote a bunch of logic in the status bar to try and optimize refreshing of the x,y,z coordinates. This will be in next week’s V7 WIP. I don’t know if this will fix the case where your high resolution mouse is just filling the Windows message queue with a ton of mouse movement events, but it should help with some of the stuttering that you are seeing in other cases.

1 Like

RH-60248 is fixed in the latest WIP

2 Likes

On my main machine, on latest WIP, 125Hz, 250Hz and 500Hz seems to go fine.
1000Hz is still able to fully-freeze 3dmouse movements, if during a command (trim, blend, etc)

Seems like an improvement; thanks for testing. I’ll try to think of other ways to improve this, but at the moment I’m not having any brilliant ideas.

1 Like

Not to necro an old thread, but i have been having this issue on and off. I find that if i quit and reopen rhino the problem goes away. rotating with my mouse is super smooth but my 3d mouse is slow. It makes me feel like its some kind of input buffering problem, since its not about display drawing.

However, I did turn off most of my properties tabs and the problem went away, so shrug

Resurrecting this thread again - I am having a similar issue whenever I switch focus into rhino from windows, grasshopper, or rotate the viewport my mouse lags for around two seconds. Looks stuttery when I move the mouse in circles. Does anyone know a fix for this?

Which rhino version? And specs?

Rhino 7 SR33 2023-9-5 (Rhino 7, 7.33.23248.13001, Git hash:master @ 332dda7497b18e9e6f82f118da5cba0c448151a9)
License type: Commercial, build 2023-09-05
License details: Cloud Zoo

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 32Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 3090 (NVidia) Memory: 24GB, Driver date: 6-8-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 536.23
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
- Secondary monitor attached to adapter port #1
- Secondary monitor attached to adapter port #2

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 6-8-2023
Driver Version: 31.0.15.3623
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 24 GB

Rhino plugins that do not ship with Rhino
C:\Program Files\Rhino 6\Plug-ins\RhinoCAM 2019 for R6\RhinoArt1FileExporter For Rhino6.0.rhp “RhinoArt1FileExporter”
C:\Users\Desktop\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\Bullant\1.5.12.0\bullant.rhp “bullant” 1.5.12.0
C:\Users\Desktop\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\EleFront\4.2.2\ElefrontProperties.rhp “ElefrontProperties” 1.0.0.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.33.23248.13001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.33.23248.13001
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.33.23248.13001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.33.23248.13001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.33.23248.13001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”

thank you for sharing,
1- is this specific to a file? or consistent everywhere?
2- also can you disable RhinoCAM and BullAnt and restart rhino?