| Summary: | [6.0] Scrolling is done at a lower framerate than the monitor's | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kirigami | Reporter: | Naxdy <xnaxdy> |
| Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs-null> |
| Status: | CONFIRMED --- | ||
| Severity: | normal | CC: | nate, nicolas.fella, notmart |
| Priority: | NOR | Keywords: | qt6, regression |
| Version First Reported In: | 6.0.0 | ||
| Target Milestone: | Not decided | ||
| Platform: | NixOS | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Naxdy
2024-02-29 14:45:11 UTC
That's quite unexpected. The new smooth scrolling behavior is backed by a QPropertyAnimation, which is supposed to integrate with QML scene's (and ultimately QWindow's-) refresh rate without any additional setup on our end. The only custom timer I see in this code is the one to force stop the animation after 400 ms. https://invent.kde.org/frameworks/kirigami/-/blob/master/src/wheelhandler.cpp did you use some tool to actually measure the exact framerate of the scrollview? Sadly I don't have a way to measure it, but I was able to capture the behavior on video. The file is too large to be uploaded here, so I've put it on my cloud: https://cloud.polskalemon.com/s/DkFnPSdPxT79Dk5 Note that, obviously, this only makes sense to watch on a 120Hz (or more) monitor. > Note that, obviously, this only makes sense to watch on a 120Hz (or more) monitor.
not really necessary if you know how to use video editing software and navigate frame-by-frameā¦
Anyways, I have verified that your video shows subtle jitter / frame skips when scrolling with a mouse wheel but not with a scrollbar handle. Have not tried testing it on my 60Hz laptop though. FWIW it might even be a specific mouse wheel event of your hardware; but I'd assume it's a Kirigami.WheelHandler bug.
Mind posting here the mouse manufacturer & model, just in case?
Here's my mouse output from lsusb:
Bus 003 Device 002: ID 046d:c08b Logitech, Inc. G502 SE HERO Gaming Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0xc08b G502 SE HERO Gaming Mouse
bcdDevice 27.03
iManufacturer 1 Logitech
iProduct 2 G502 HERO SE
iSerial 3 0A89324E3937
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x003b
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4 U127.03_B0010
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 67
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 151
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0014 1x 20 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
Interestingly, my wife (same mouse) doesn't have this issue, at least not to the same extent (it's still present, but weaker). Could be monitor related perhaps? She's on a 2560x1080 monitor @144Hz, I'm on a 7680x2160 monitor @120Hz, both her and me are at 100% scaling. |