New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
resize-limiter: add additional check for low-hz monitors #4553
Conversation
33254c6
to
9272021
Compare
unsure how this is supposed to fix anything tbh |
try forcing 60hz refresh rate and move wayland window with this just returns things like they were before 9f20a15 not breaking already done fixes if there is different solution, sure, but atleast i tried :D |
christ 60hz is disgusting. Anyways tried and can't see any issues. |
what can i do it's builtin laptop display :p with plugged 120hz moni its okay rendering on both
well, it might be intel issue, as i'm not only one having this on intel |
i think i found the root cause of the problem i tried with my old mouse (Logitech g603), which has two modes
as well as some random wired mouse so the timings on 60hz display are:
while |
Just tested, don't know why but this indeed fixes #4542 |
i suppose that's because of unlucky timings, returns occurs every 7-8 ms while threshold for 60hz is 16.666666ms, right after second return from limiter but there is too much lag before render happens this is firing for default non-hi-res input devices on 60hz, and since that might be not the case for the majority of userbase, issue is pretty niche @vaxerski is adding cfg option viable? or i could think on some another logic in checker |
hm. I am still unsure what the best course of action is here. Maybe update the cursor pos all the time, and update resize status in a preRender hook? |
there's another related issue #4669 feel free to close if you are planning to fix it in natural way, i can continue patching if needed |
I have no idea why that happens, but making the resize inherently more choppy is not the way to do it. |
could u please run this snippet from shell declare -i n=0 total=0
unset time0 time1 m avg
(( ZSH_VERSION )) && m=1.0 || m=1
wev -f wl_pointer:motion | while read -r line; do
n+=1
time0=${line%;*}
time0=${time0#*time: }
(( delta = time0 - ${time1:-$time0} ))
(( total += delta < 16 ? delta : avg ))
(( avg = total * m / n ))
echo "time:$time0 ms:$delta avg:$avg"
time1=${line%;*}
time1=${time1#*time: }
done move mouse a bit and paste few last lines |
finna get a few trojans
|
nice, u also have shitty mouse look, can we do like this? if mouse sends ~1ms (like g603 which i tested), maybe it will skip 1 or 2 returns out of ~15 although, 75hz been mentioned once, i can't see it stuttering, atleast on headless |
I don't, I just am not stupid enough to set it to 1000hz. This is a deathadder v2 |
I can't see any stutters even on 1khz |
but u won't, it's only 60hz and 7-8ms if any, 1khz mouse or high rr moni = ok |
that's the problem, when both conditions are met:
now its
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
united we stand
I thought the bad floating window movement performance was on my haswell igpu, but hey this thing seems to have made quite a positive difference. Thank you ~ |
yeah, it was confusing. initially i thought the same (lulswell too), but people on Tigerlake had same problem, and it is pure luck i have 2 monitors and switchable mouse to catch the problem glad to help |
…ow-hz monitors (hyprwm#4553) * resize-limiter: add additional check for low-hz monitors * simplify checker * add comment * rename variable
Describe your PR, what does it fix/add?
adding 5-6 ms of delay can fix render lag on mouse movement events in some weird combo
mouse + 60hz display
should fix #4542
should fix #4669
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
nope
Is it ready for merging, or does it need work?
ready