SUMMARY When scrolling menus in Kirigami apps (System Settings, System Monitor, etc) the text looks buggy and cut off whilst scrolling. Changing the compositor rendering settings does not affect this bug, and it persists in both Xorg and Wayland sessions. Using different themes also does not affect this issue, as it persists regardless of QT theme. Changing trackpad/mouse settings also does not affect this behavior. STEPS TO REPRODUCE 1. Open a Kirigami app (System Settings for this example). 2. Ensure that the sidebar view is enabled. 3. Scroll up or down slowly in the sidebar or submenus using your trackpad or mouse. OBSERVED RESULT The text will look distorted and choppy whilst scrolling. I have a screen recording of the issue as well, which is attached. EXPECTED RESULT Text looks smooth and does not become choppy or pixelated when scrolling SOFTWARE/OS VERSIONS Linux/KDE Plasma: 5.24 KDE Plasma Version: 5.24 KDE Frameworks Version: 5.90 Qt Version: 5.15.3 Kernel: 5.13.0-28-Generic (X64) ADDITIONAL INFORMATION CPU: AMD Athlon 3020e GPU: AMD Radeon Vega 3 (integrated GPU) Memory: 4GB Disk: 128GB SSD
Created attachment 146512 [details] Bad text rendering in discover when scrolling with touchpad
Can reproduce on Wayland session of neon unstable while scrolling the effects list in Desktop Effects KCM with touchpad.
This kind of issue usually happens when a QML item has a non-integer position. In this case it seems like the scrollview's flickable's child item has a that
*** Bug 449970 has been marked as a duplicate of this bug. ***
Same thing in systemsettings (https://bugs.kde.org/show_bug.cgi?id=449970)
Created attachment 146555 [details] Gammaray screenshot
In all cases there's a RefreshableScrollView involved
This seems to be caused by https://invent.kde.org/frameworks/kirigami/-/commit/f6ca218607ff7e5d5066eb3224154c3256cb9516
We should probably round the contentX and contentY position changes in Kirigami WheelHandler.
Actually, isn't there already a solution built into Flickable? Set `pixelAligned: true`. That's technically the correct thing to do. It's not going to work that well with fractional scale factors though. Even if we made a built-in workaround in Kirigami WheelHandler, I'm not sure we'd be able to do much about fractional scale factors.
The ideal fix would be to fix the text elements in Qt so that they don't glitch out when given fractional positions.
*** Bug 449979 has been marked as a duplicate of this bug. ***
*** Bug 450011 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/494
Git commit de215e196ed8b40a4abf5fa0da6c59adeba30187 by Noah Davis. Committed on 11/02/2022 at 14:26. Pushed by ndavis into branch 'master'. WheelHandler: Round contentX/contentY positions I'm basically forcing pixel alignment because I don't see a reason not to when scrolling with a touchpad or mouse wheel. We should ideally also fix this in Qt so that workarounds like these aren't necessary. https://bugs.kde.org/show_bug.cgi?id=449884 M +15 -0 src/wheelhandler.cpp https://invent.kde.org/frameworks/kirigami/commit/de215e196ed8b40a4abf5fa0da6c59adeba30187
*** Bug 450055 has been marked as a duplicate of this bug. ***
*** Bug 446048 has been marked as a duplicate of this bug. ***