Maniphest T93408

Snap performance regression at high poll rate
Closed, ResolvedBUG

Assigned To
Germano Cavalcante (mano-wii)
Authored By
melak47 (melak47)
Nov 26 2021, 4:06 PM
Tags
  • BF Blender
  • Modeling
Subscribers
Germano Cavalcante (mano-wii)
melak47 (melak47)
Wovchik (microcoder)
Tokens
"Love" token, awarded by 1D_Inc."Love" token, awarded by melak47.

Description

System Information
Operating system: Windows-10-10.0.22000-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3090/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 496.76

Blender Version
Broken: version: 3.0.0 Release Candidate, branch: master, commit date: 2021-11-25 17:24, hash: rB2fb8c6805a98 (still broken in 3.1 7b5a6f452aa5).
Worked: 2.93.4 release

Short description of error
When using a mouse with a high poll rate, blender 3.0 can't seem to keep up with
mouse movements when snapping is on.
Even just 250Hz instead of 125Hz grinds the snapping to a halt in a trivial scene,
making it almost unusable unless you move the mouse very slowly.

Exact steps for others to reproduce the error
Example scene created in blender with factory defaults, with two cubes and snapping
set to "face" and "center":

Using a mouse with a polling rate higher than 125Hz (many gaming mice go up to 1000Hz):

  1. Select the smaller cube,
  2. press g,
  3. hold ctrl for snapping,
  4. drag the smaller cube over the large cube.

Observe the snapped location updating less and less often the faster you drag:

Compare with blender 2.93 which doesn't seem to have a problem even at 1000Hz:

Workarounds

  • don't use a gaming mouse ( the extra buttons are nice for blender, though :| )
  • change the polling rate in the mouse's accompanying software if possible

Revisions and Commits

rB Blender

Related Objects

Mentioned In
T93479: 3.0 Potential candidates for corrective releases
T93750: Bug, Holding down ctrl and sculpting with a pen pressure tablet (xp-pen) results in horrible performance.
Mentioned Here
rBfba9cd019f21: VSE: Improved Snapping
rB7b5a6f452aa5: Merge branch 'blender-v3.0-release'

Event Timeline

melak47 (melak47) created this task.Nov 26 2021, 4:06 PM
melak47 (melak47) updated the task description.Nov 26 2021, 4:10 PM
Wovchik (microcoder) added a subscriber: Wovchik (microcoder).Nov 29 2021, 12:18 PM
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).Dec 6 2021, 2:14 PM

As far as I know, the snapping part of the transform code hasn't gone through changes that would justify this lag. This must be a collateral effect of changes in another area.

Does the problem only appear when you press Ctrl? What happens if snapping is already enabled in the scene? And what happens if you change the shortcut to a key other than Ctrl?

melak47 (melak47) added a comment.EditedDec 6 2021, 3:00 PM
In T93408#1266235, @Germano Cavalcante (mano-wii) wrote:

As far as I know, the snapping part of the transform code hasn't gone through changes that would justify this lag. This must be a collateral effect of changes in another area.

Does the problem only appear when you press Ctrl? What happens if snapping is already enabled in the scene?

If I enable snapping in the menu header, it behaves the same without holding control.
Using the transform gizmo tool with snapping on instead of pressing g, too.

And what happens if you change the shortcut to a key other than Ctrl?

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Dec 22 2021, 8:06 PM
Germano Cavalcante (mano-wii) claimed this task.
Germano Cavalcante (mano-wii) triaged this task as High priority.
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Germano Cavalcante (mano-wii) added a project: Modeling.

I can confirm on a mouse with a polling rate of 500Hz
rBfba9cd019f21f29bad1a6f3713370c5172dbc97f is the first bad commit

Germano Cavalcante (mano-wii) closed this task as Resolved by committing rB586e2face61c: Fix T93408: Snap performance regression at high poll rate.Dec 22 2021, 8:24 PM
Germano Cavalcante (mano-wii) added a commit: rB586e2face61c: Fix T93408: Snap performance regression at high poll rate.
melak47 (melak47) awarded a token.Dec 22 2021, 8:40 PM
Philipp Oeser (lichtwerk) added a commit: rBb2e15cb19dab: Fix T93408: Snap performance regression at high poll rate.Jan 11 2022, 10:38 AM
Paul Kotelevets (1D_Inc) awarded a token.Mar 30 2022, 9:40 PM