Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
6.2.1
-
Arch Linux KDE Plasma 5.23.2, Qt 6.2.1, Compositor enabled, Morphing Popups Effect enabled
-
-
180b496b53 (qt/qtbase/dev) 180b496b53 (qt/tqtc-qtbase/dev)
Description
Drag and drop is very sluggish and laggy when attaching a Pixmap to the drag and when having the compositor enabled on KDE. This is because KDE animates the position of all tooltip windows, which means that KDE interpolates the position of the image, which causes very high latency.
This is because Qt sets the Qt::ToolTip flag for QShapedPixmapWindow here: https://code.woboq.org/qt5/qtbase/src/gui/kernel/qshapedpixmapdndwindow.cpp.html#59
setFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint | Qt::WindowTransparentForInput | Qt::WindowDoesNotAcceptFocus);
In my opinion, it should not set the Qt::ToolTip flag, as this is not a tooltip, but a pixmap that follows the cursor across the whole desktop. Would it be a problem if that specific flag was removed?
Related Qt forum post from 2016: https://forum.qt.io/topic/73975/qml-drag-drop-starts-late-lags-behind-and-is-sluggish
The relevant source code of the KDE compositor animation can be found here: https://github.com/KDE/kwin/blob/master/src/effects/morphingpopups/package/contents/code/morphingpopups.js#L20
The imageSource example right from the Qt docs is a minimal reproducable example to cause the high latency of the drag and drop image: https://doc-snapshots.qt.io/qt6-dev/qml-qtquick-drag.html#imageSource-attached-prop
Attachments
Issue Links
- is duplicated by
-
QTBUG-52560 QShapedPixmapWindow incorrectly set at tooltip
- Closed