mouse scroll zoom freeze in first attempt #88308

Open
opened 2021-05-15 13:24:39 +02:00 by tajinder · 20 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce 940M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.11

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-05-14 21:37, hash: e7e183aa2b
Worked: (newest version of Blender that worked as expected)

Short description of error
Hello , i tried new version for blender 2.92 and found that whenever i rotate my object or do pan, immediate after that zoom in and zoom our "with mouse scroll" not working for some fraction of second. it freez for one scroll motion. Otherwise working fine with "alt+MMB"
Also i tried this same thing with version3.0.0 but same thing happened. Don't remember about the previous version.

also i checked my mouse with other 3d software but it worked fine there. so mouse is not causing errors i hope.

Exact steps for others to reproduce the error
open fresh blend file
rotate camera/view with MMB
immediate after rotating the camera/view scroll in or our. It will miss for sure.

but the speed for rotating and zoom in our should be fast. it worked in slow manner.

Thanks in advance,

**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: NVIDIA GeForce 940M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.11 **Blender Version** Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-05-14 21:37, hash: `e7e183aa2b` Worked: (newest version of Blender that worked as expected) **Short description of error** Hello , i tried new version for blender 2.92 and found that whenever i rotate my object or do pan, immediate after that zoom in and zoom our "with mouse scroll" not working for some fraction of second. it freez for one scroll motion. Otherwise working fine with "alt+MMB" Also i tried this same thing with version3.0.0 but same thing happened. Don't remember about the previous version. also i checked my mouse with other 3d software but it worked fine there. so mouse is not causing errors i hope. **Exact steps for others to reproduce the error** open fresh blend file rotate camera/view with MMB immediate after rotating the camera/view scroll in or our. It will miss for sure. but the speed for rotating and zoom in our should be fast. it worked in slow manner. Thanks in advance,
Author

Added subscriber: @Tajinder-pal-singh

Added subscriber: @Tajinder-pal-singh

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'

Does this happen with all files or just specific file? If file is specific, please upload sample.
Does this happen when you click on File > Defaults > Load Factory Settings?

Does this happen with all files or just specific file? If file is specific, please upload sample. Does this happen when you click on File > Defaults > Load Factory Settings?
Author

No its not file specific error. it is happening in all the files . also i tried to load default factory setting, but its still there.
i did some more testing and find a weird thing, let me explain,

I am using "Logi 2 mx master" mouse.
01.It is working perfect with another 3d software but missed the scroll in blender.
02. when i use basic wired mouse it worked fine with blender.
03.When i am using same mouse "logi 2 MX master " with another computer. It worked fine there . Blender is working perfect on another computer.

let me know if i can provide you more detail on anything.

Thanks

No its not file specific error. it is happening in all the files . also i tried to load default factory setting, but its still there. i did some more testing and find a weird thing, let me explain, I am using "Logi 2 mx master" mouse. 01.It is working perfect with another 3d software but missed the scroll in blender. 02. when i use basic wired mouse it worked fine with blender. 03.When i am using same mouse "logi 2 MX master " with another computer. It worked fine there . Blender is working perfect on another computer. let me know if i can provide you more detail on anything. Thanks

Added subscriber: @PrototypeNM1

Added subscriber: @PrototypeNM1

@Tajinder-pal-singh can you compare mouse software settings on both machines? this could be caused by some option that is enabled on one machine and disabled on another

@PrototypeNM1 Is this something you can look into? Not sure if you work on input in general or tablets exclusively.

@Tajinder-pal-singh can you compare mouse software settings on both machines? this could be caused by some option that is enabled on one machine and disabled on another @PrototypeNM1 Is this something you can look into? Not sure if you work on input in general or tablets exclusively.

I was able to recreate the issue on my MX Master, I suspect the issue is that the wheel event is occurring before the middle mouse button has been recognized as released. Scrolling in Blender is blocked until the rotate view/pan button releases, so this is expected behavior.

I was able to recreate the issue on my MX Master, I suspect the issue is that the wheel event is occurring before the middle mouse button has been recognized as released. Scrolling in Blender is blocked until the rotate view/pan button releases, so this is expected behavior.
Author

oh i see. so is there any way to fix that. or will blender dev team work on this ? i think this should be fixed as it is frustrating :D . What do you say ?

oh i see. so is there any way to fix that. or will blender dev team work on this ? i think this should be fixed as it is frustrating :D . What do you say ?
Author

And also the mouse setting on both computer is same,

And also the mouse setting on both computer is same,

Just verified the problem is scroll messages being received before middle mouse up happens.

The fix for this would be to rewrite panning and rotating the view to allow scrolling (zoom) at the same time.

@iss I think this is a good first issue. It's more feature request than bug, but it's definitely a UX papercut. I don't plan to work on it but I'd be open to reviewing/mentoring someone who wants to.

Just verified the problem is scroll messages being received before middle mouse up happens. The fix for this would be to rewrite panning and rotating the view to allow scrolling (zoom) at the same time. @iss I think this is a good first issue. It's more feature request than bug, but it's definitely a UX papercut. I don't plan to work on it but I'd be open to reviewing/mentoring someone who wants to.

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'

Added subscriber: @chemicalcrux

Added subscriber: @chemicalcrux

I'm interested in tackling this, but I'd definitely need some assistance on it. I spent some time poking around the callstack on the way to viewzoom_exec and looking through the debug logs.

It seems like you'd need to make an exception that allows for the zoom operation to occur even if another modal (?) operation is ongoing, without allowing it to occur during any of the other blocking operations (like, say, translating an object).

I'm interested in tackling this, but I'd definitely need some assistance on it. I spent some time poking around the callstack on the way to `viewzoom_exec` and looking through the debug logs. It seems like you'd need to make an exception that allows for the zoom operation to occur even if another modal (?) operation is ongoing, without allowing it to occur during any of the other blocking operations (like, say, translating an object).

@chemicalcrux instead of thinking of this as allowing the zoom operator to run when the blocking pan operation is ongoing, you can think of this as extending the pan operation to listen for zoom events while it is operating, and zoom in those cases.

For that the pan operator can reuse code from the zoom operator, normally the functions that end with _init, _apply, and _exit. Generally _invoke, _modal, and _exec should not be used as they are intended for use as callbacks for the operator system, but you can reference them for how they use the _init, _apply, and _exit.

Some useful links to better understand operators:
Operator Tutorial
Operator design notes

@chemicalcrux instead of thinking of this as allowing the zoom operator to run when the blocking pan operation is ongoing, you can think of this as extending the pan operation to listen for zoom events while it is operating, and zoom in those cases. For that the pan operator can reuse code from the zoom operator, normally the functions that end with **_init**, **_apply**, and **_exit**. Generally _invoke, _modal, and _exec should not be used as they are intended for use as callbacks for the operator system, but you can reference them for how they use the _init, _apply, and _exit. Some useful links to better understand operators: [Operator Tutorial ](https://archive.blender.org/wiki/index.php/Dev:2.5/Source/Architecture/Operators/Tutorial/) [Operator design notes ](https://archive.blender.org/wiki/index.php/Dev:2.5/Source/Architecture/Window_Manager/#Operator_design_notes)

@chemicalcrux ended up picking up other projects to work on so this is still open to new contributors.

@chemicalcrux ended up picking up other projects to work on so this is still open to new contributors.

Added subscriber: @astronotter-4

Added subscriber: @astronotter-4
AJP self-assigned this 2021-06-23 03:33:36 +02:00

I don't have an MX master mouse but I am able to simulate the effect by holding down the middle mouse button and scrolling (suggested to me by @PrototypeNM1) so I will take a crack at it!

I don't have an MX master mouse but I am able to simulate the effect by holding down the middle mouse button and scrolling (suggested to me by @PrototypeNM1) so I will take a crack at it!

Changing move's poll callback to allow scroll events, and then accepting and handling the events in the move's modal callback seems to allow scrolling while moving the view for me. I've uploaded a patch here: https://developer.blender.org/differential/diff/38779/ and would be grateful for review! :)

Changing move's poll callback to allow scroll events, and then accepting and handling the events in the move's modal callback seems to allow scrolling while moving the view for me. I've uploaded a patch here: https://developer.blender.org/differential/diff/38779/ and would be grateful for review! :)

@astronotter-4 could you create a new revision from the patch? It's easier to add comments that way. :)

You can create and update revisions from patch urls like the one you linked to, or you can install and use archanist (which is a bit of a pain but useful as you create and update more revisions).

@astronotter-4 could you create a new revision from the patch? It's easier to add comments that way. :) You can create and update revisions from patch urls like the one you linked to, or you can install and use archanist (which is a bit of a pain but useful as you create and update more revisions).
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:23:28 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#88308
No description provided.