r/kde • u/FrameXX • Aug 30 '26
General Bug Window resizing - Filelight VS Dolphin
Enable HLS to view with audio, or disable this notification
130
u/FrameXX Aug 30 '26 edited Aug 30 '26
Unfortunately Reddit compresses heavily and turned the recording into 30 fps. Here's the original recording: https://cloud.framexx.dev/s/s9G7PPJXYJ7Y9cQ
Here you will notice how choppy Filelight is compared to Dolphin.
55
u/Chester-Berkeley Aug 30 '26
Ah yes, after watching the video without Reddit's aggressive compression, it became clearer. It's very strange that Filelight is like that.
18
u/R3V0LU710N_05 Aug 30 '26
I see, so the window is lagging behind the curser. I could barely see any difference in the reddit compressed version. Though I had no idea what to look for... And now it's obvious.
3
1
1
70
u/SnooCompliments7914 KDE Contributor Aug 30 '26
Some apps just repaint slower. Open a large image in Gwenview, set to the "Fit" mode, and you'll see the worst.
Probably could be improved by only drawing the frame, and letting the content area load asynchronously. Maybe not worth the additional complexity. And unlikely to be high on any priority list, anyway.
31
u/Trapped-In-Dreams Aug 30 '26 edited Aug 30 '26
It's not just some apps, it's all qml apps
because they draw out of sync with the compositor.15
u/SnooCompliments7914 KDE Contributor Aug 30 '26
Dolphin also can't keep up with the mouse cursor on laptops. Apps / UI frameworks aren't designed to re-layout at 60fps or even more.
6
10
u/Zamundaaa KDE Contributor Aug 30 '26
That's not how application repaints or resizes work. Resizing is always inherently "out of sync", the only difference is how fast the app can do it.
6
u/Trapped-In-Dreams Aug 30 '26
Well, yeah, I meant to say that desync is worse in qml apps (because of their multi-threaded GPU-accelerated architecture). Also you can speed them up a little by setting env QSG_NO_VSYNC=1
7
u/grekand46 Aug 30 '26 edited Aug 30 '26
That actually worked super well.
Edit: I looked a bit into Qt's source code (not as bad of an experience as I thought it would be) and found that settingQSG_NO_VSYNCto 1 causes the surface format to have a swap interval of 0 as opposed to the default value of 1. When nonblocking buffer swaps are available and the surface has a nonzero swap interval, Qt would set the actual EGL swap interval to 0, which makeseglSwapBuffersnonblocking, and emulate the block itself while taking Wayland frame callbacks into consideration. This appears pretty reasonable to me, but clearly something isn't working properly. I suspect there's some sort of double throttling going on since there aren't any excessive rendering operations even without the emulated blocking. (side note:QSG_NO_VSYNCis kind of a misnomer in Wayland due to vsync always being present)1
u/FrameXX Aug 30 '26 edited Aug 30 '26
To me the issue seems independent of the content of the window. It shows with many apps who have very simple content to render. The Filelight window was on it's welcome page, where there are few buttons, icon and text.
1
u/LegendaryMauricius Sep 01 '26
I think that's a hard sell, because Wayland has the policy of 'every frame being perfect'. That means visual consistency over performance I guess.
24
u/grekand46 Aug 30 '26
The difference here is that Dolphin uses Qt Widgets, which always does software rendering, while Filelight uses Qt Quick, which defaults to rendering with OpenGL. Of course this doesn't mean that GPU accelerated rendering inherently leads to choppy resizes (GNOME apps, for example, do this pretty smoothly while also using the GPU), but I'm pretty sure a bug on Qt's side causes resizing to behave poorly on Wayland + OpenGL. If it bothers you too much, you can set an environment variable to force Qt Quick to use software rendering (QT_QUICK_BACKEND=software).
21
u/FrameXX Aug 30 '26
I have to confirm running
QT_QUICK_BACKEND=software filelightmade a day and night difference.2
u/Damglador Aug 31 '26
QSG_NO_VSYNC=1 filelight(suggested here has a comparable effect. The resize with it is pretty much as snappy as with software backend.2
u/MicrogamerCz Sep 01 '26
Doesn't QtQuick have "worse" optimization than GTK? Qt after all, is primarily a corporate framework built to run everywhere with the same quality of development and UX, while GTK is developed primarily for Linux, with the drivers and standards that have been working for some time.
I couldn't tell QtWidgets and QtQuick apps on my PC with a normal GPU if I was looking how snappy is resizing, but on my laptop (with same hardware as OP), it's stuttering the same
11
u/FrameXX Aug 30 '26
Operating System: Fedora Linux 44
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.1
Kernel Version: 7.1.9-200.fc44.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen AI 5 340 w/ Radeon 840M
Memory: 24 GiB of RAM (22.8 GiB usable)
Graphics Processor: AMD Radeon 840M Graphics
15
u/SuperGNUser Aug 30 '26
Dolphin is made with the good old Qtwidgets. Filelight is made with the "new" GPU-Accelerated (not quite...) Qt Quick (not so quick). By now, most KDE apps are built using Qt Quick. Welcome to the new technology nobody really needed.
7
u/FrameXX Aug 30 '26
I am not sure whether this is the case of "Qt Quick bad". When I run filelight with
QT_QUICK_BACKEND=softwareas suggested by another commenter the issue went away.8
u/SuperGNUser Aug 30 '26
This confirms what I was saying: GPU acceleration is poorly implemented by Qt. Of course, it may well be down to the drivers, but it’s something you can test with different drivers, so it’s not just the drivers’ fault. I could also suggest you try QSG_USE_SIMPLE_ANIMATION_DRIVER=1 – it sometimes helps (especially if you have different screens with different refresh rates) or you can try the vulkan backend.
2
u/Damglador Aug 31 '26
Welcome to the new technology nobody really needed
In QtQuicks defense, QML is really neat for development. It doesn't matter if your program is in python, C++ or rust, you define the UI in the same way everywhere.
6
u/razorree Aug 30 '26
just tested. and.... it's true....
empty Filelight is way more erratic/choppy (like ~15fps) than Dolphin displaying 2 panes full of files....
6
u/Historical-Bar-305 Aug 30 '26
I have the same but with kde apps resizing is just lugging. When i made a post i was downvoted because i said im not on llvmpipe.
3
2
u/DaManHere2695 Aug 30 '26
this is also the case for qml apps, not just filelight or even kirigami kde apps.
1
u/AutoModerator Aug 30 '26
Hi, this is AutoKonqi reporting for duty: this post was flaired as General Bug.
While r/kde allows to discuss issues, raise their visibility, and get assistance from other users out of good will, it is not the proper channel to report issues and the developers able to fix them won't be able to act on them over Reddit.
So if this bug was not reported to the developers yet and it is in fact a bug in KDE software, please take a brief look at the issue reporting guide and report the issue over the KDE Bugzilla. If it is a crash, be sure to read about getting backtraces so your report can assist the developers. If this is a known issue, you may want to include the bug report on your post so your fellow users experiencing the same thing can CC themselves to the report. Be sure to describe your issue well and with context. Thank you.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
1
1
1
2
u/Creative-Ad653 Sep 03 '26 edited Sep 03 '26
I feel like I am being gaslit. I am not seeing any difference on my own system when doing this, and I have set no environmental variables. There is clearly something wrong, as many attest to in this thread, yet it doesn't seem to occur for me? Does it depend on your GPU?
My sys info:
Operating System: Arch Linux
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Kernel Version: 7.2.2-1-cachyos-bore (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7800X3D 8-Core Processor
Memory: 32 GiB of DDR5 RAM
Graphics Processor 1: NVIDIA GeForce RTX 4070
Graphics Processor 2: AMD Ryzen 7 7800X3D 8-Core Processor
EDIT: I did another test on my 60Hz secondary monitor and the issue replicates there. Do you have more than one monitor with mixed refresh rates by any chance? Maybe its some render loop throttling related to mixed monitors or in general. That would explain why tuning with QSG_NO_VSYNC=1 or QT_QUICK_BACKEND=software works as a fix (confirmed on my own system). EDIT 2: NVM i see the issue if i make the main monitor 60Hz too, now I think the issue is there on my 180Hz, but having higher Hz means you dont notice the issue as easily.
•
u/AutoModerator Aug 30 '26
Thank you for your submission.
Consider becoming a Supporting Member and help KDE thrive!
The KDE community supports the Fediverse and open source social media platforms over proprietary and user-abusing outlets. Consider visiting our community on Mastodon (Lemmy will be back shortly). Tag us in your toots! You can also visit our forum at KDE Discuss to talk about KDE stuff, brainstorm ideas and get the answers to your KDE-related issue.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.