Skip to content
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

Lag with git version, 11.2 fine #1330

Closed
Cheesemassacre opened this issue Sep 3, 2024 · 4 comments
Closed

Lag with git version, 11.2 fine #1330

Cheesemassacre opened this issue Sep 3, 2024 · 4 comments

Comments

@Cheesemassacre
Copy link

Cheesemassacre commented Sep 3, 2024

Platform

Arch Linux

GPU, drivers, and screen setup

13th gen igpu, latest updates

Environment

dwm

picom version

picom-git from aur, latest

Config

Only things changed:
blur-strength = 1.5
blur-background = true

Problem

I'm sometimes getting lag while switching workspaces, terminal is slower. For example ctrl + c in terminal is laggy, vim is slower, neofetch is taking longer to show. Very weird. GUI apps are fine I think. It's random. 11.2 release version is fine. No lag or slowdowns. This has been happening for some time now, at least since June.

@emanuelamaral
Copy link

Same here: picom (vgit-89c2c). My fading its very lagged too

@yshui
Copy link
Owner

yshui commented Sep 7, 2024

It's hard for me to visualize exactly what you mean, do you have a recording?

And if you are sure 11.2 is fine, can you do a bisect to see at which point did it start happening?

@yshui
Copy link
Owner

yshui commented Oct 10, 2024

probably same problem as #1345, try the fix-1345 branch

@Cheesemassacre
Copy link
Author

probably same problem as #1345, try the fix-1345 branch

It now works fine

yshui added a commit that referenced this issue Oct 10, 2024
Once again we found ourselves going into sleep while there are X events
in libxcb's buffer.

This time it's because both vblank_handle_x_events and x_poll_for_events
can read from the X connection. This is introduced as part of commit
d617d0b. Before that, we were only calling xcb_poll_for_queued_events
after vblank_handle_x_events.

By changing that to a xcb_poll_for_events (and later to
x_poll_for_events, which calls xcb_poll_for_events), we could read
additional vblank events into the buffer. These events will not be
handled because vblank_handle_x_events has already be called, so we will
be going into sleep with these events in the buffer. Since vblank events
driver the frame render loop, this causes indefinitely long delay
between frames.

Related-to: #1345 #1330
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
yshui added a commit that referenced this issue Oct 10, 2024
Once again we found ourselves going into sleep while there are X events
in libxcb's buffer.

This time it's because both vblank_handle_x_events and x_poll_for_events
can read from the X connection. This is introduced as part of commit
d617d0b. Before that, we were only calling xcb_poll_for_queued_events
after vblank_handle_x_events.

By changing that to a xcb_poll_for_events (and later to
x_poll_for_events, which calls xcb_poll_for_events), we could read
additional vblank events into the buffer. These events will not be
handled because vblank_handle_x_events has already be called, so we will
be going into sleep with these events in the buffer. Since vblank events
driver the frame render loop, this causes indefinitely long delay
between frames.

Related-to: #1345 #1330
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants