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> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | nate, nicolas.fella, notmart |
Priority: | NOR | Keywords: | qt6, regression |
Version: | 6.0.0 | ||
Target Milestone: | Not decided | ||
Platform: | NixOS | ||
OS: | Linux | ||
Latest Commit: | Version Fixed 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. |