Bug 487549 - Custom size panel resizing in edit mode is laggy
Summary: Custom size panel resizing in edit mode is laggy
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Edit Mode (show other bugs)
Version: master
Platform: Arch Linux Linux
: NOR minor
Target Milestone: 1.0
Assignee: dmatteo002
URL:
Keywords: qt6, usability
: 498203 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-05-25 20:26 UTC by dmatteo002
Modified: 2025-01-15 21:34 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.3.0
Sentry Crash Report:


Attachments
Video of the problem (740.15 KB, video/webm)
2024-06-14 17:51 UTC, dmatteo002
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dmatteo002 2024-05-25 20:26:59 UTC
SUMMARY
Using the min/max to change the size of the panel with custom size in edit mode is laggy. 

STEPS TO REPRODUCE
1. Open panel edit mode
2. set the panel to be custom sized
3. drag min and max so to change the current size of the panel

OBSERVED RESULT
The panel resize but stutter multiple times.

EXPECTED RESULT
The panel should not lag but have smoothly transition.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.0.90
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.9.1-arch1-2 (64-bit)
Graphics Platform: Wayland
Graphics Processor: AMD Radeon Graphics
Comment 1 Nate Graham 2024-06-14 17:21:32 UTC
Can you attach a screen recording that shows the issue happening?
Comment 2 dmatteo002 2024-06-14 17:51:35 UTC
Created attachment 170504 [details]
Video of the problem

I attached a video. It only happen when the bar has to change size because of the new constrains.
Comment 3 Nate Graham 2024-06-14 21:53:58 UTC
Thanks. I can reproduce that.
Comment 4 Niccolò Venerandi 2025-01-10 09:41:11 UTC
*** Bug 498203 has been marked as a duplicate of this bug. ***
Comment 5 Bug Janitor Service 2025-01-13 14:51:26 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5061
Comment 6 Marco Martin 2025-01-14 14:59:23 UTC
Git commit b6c31e9ec3485a5022953d8a24183c38819b1c6f by Marco Martin.
Committed on 14/01/2025 at 14:59.
Pushed by mart into branch 'master'.

shell/panel: ensure at most one resize per frame is done

calls to queuePositionAndResize will mark geometry dirty and ask for redraw
only when the redraw is done, the resize is done and another frame at
proper geometry will be drawn.

this ensures that if we receive a flood of resize requests, at most
one per frame will be performed, making resizing the panel with the
handles feel a lot snappier

M  +6    -0    shell/autotests/shelltest.cpp
M  +20   -5    shell/panelview.cpp
M  +2    -0    shell/panelview.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/b6c31e9ec3485a5022953d8a24183c38819b1c6f
Comment 7 Marco Martin 2025-01-15 08:12:51 UTC
Git commit 8f32c912adc9f0d9f829f474f2e53a9e8fe954b1 by Marco Martin.
Committed on 15/01/2025 at 08:12.
Pushed by mart into branch 'Plasma/6.3'.

shell/panel: ensure at most one resize per frame is done

calls to queuePositionAndResize will mark geometry dirty and ask for redraw
only when the redraw is done, the resize is done and another frame at
proper geometry will be drawn.

this ensures that if we receive a flood of resize requests, at most
one per frame will be performed, making resizing the panel with the
handles feel a lot snappier


(cherry picked from commit b6c31e9ec3485a5022953d8a24183c38819b1c6f)

M  +6    -0    shell/autotests/shelltest.cpp
M  +20   -5    shell/panelview.cpp
M  +2    -0    shell/panelview.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/8f32c912adc9f0d9f829f474f2e53a9e8fe954b1