Repository navigation
Fix window drag lag on Windows - #9664
Conversation
|
I've tested it on Orca but the same issue. Didint see any change. |
|
Didn't make any apparent difference during dragging here either, I'm afraid. Window 10, dark mode. Applied to latest It does change the window resize behavior, but the delayed repaint is a bit odd IMHO, and at least on my system it doesn't seem to make it more efficient/quicker (though I could see how that could maybe vary by hardware). No visible effect on window drag performance, still lags. Doesn't seem like the code in the |
|
@4RH1T3CT0R7 Any feedback or update on this? It would be nice to get the lag fixed and seems like you've already done some research into the matter. Thanks! |
- Enable DWM composition via DwmExtendFrameIntoClientArea for smooth window dragging - Replace complete layout suppression with ~30fps throttling during interactive resize - Fire EVT_NOTICE_CHILDE_SIZE_CHANGED on WM_EXITSIZEMOVE for proper child updates - Fix switch fall-through in WM_GETMINMAXINFO case
|
@mpaperno Thanks for the detailed feedback and for testing! You were right - I've pushed an updated fix that addresses the issues you raised:
Would appreciate if you could test again when you get some time |
|
Thanks Artem! Didn't know about the pixel trick... neat. Well, over here the dragging performance is an improvement, if not an all-out fix. At least it's controllable now, if dragging slow enough, whereas before I wouldn't want to even touch the window except to maximize/restore it. It still lags and if moving too fast I have to wait for it to "catch up" to current mouse location, but it does so quicker than before, and at least it's usable. 👍🏼 And the resize behavior is much improved! BTW my test system is Win 10 with all updates, NVIDIA RTX 2080Ti w/latest studio drivers, 3 monitors. i7-7820X 8 core @3.6Ghz, 64GB RAM. Hopefully this could get merged in! Thanks again, |
|
thanks~ |
- Enable DWM composition via DwmExtendFrameIntoClientArea for smooth window dragging - Replace complete layout suppression with ~30fps throttling during interactive resize - Fire EVT_NOTICE_CHILDE_SIZE_CHANGED on WM_EXITSIZEMOVE for proper child updates - Fix switch fall-through in WM_GETMINMAXINFO case also Fix layout refreshing during window resizing on Windows system github pull request: bambulab#9664 Change-Id: Iaa90fcfcc167f87bbac55ece6e8ab3881571f4e0 (cherry picked from commit 64312a9)
|
This Window lag/delay seems to be still a thing in Version 2.8.2.61 |
Problem
Dragging the window by the title bar causes multi-second lag and pegs one CPU core at 100%. The custom titlebar handling fires WM_NCCALCSIZE hundreds of times
per second during drag, each triggering wxEVT_SIZE → Refresh() → full OpenGL render with no throttling.
Fixes #934
Changes