This repository has been archived by the owner on Nov 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 342
Busy loop with clients requesting frame callbacks without rendering #2051
Labels
Comments
I think we should just make compositors always perform |
No, this would keep the rendering loop active even if nothing is happening (no visible clients requesting the frame callback). |
emersion
added a commit
to emersion/wlroots
that referenced
this issue
Mar 5, 2020
This way, wlr_output_schedule_frame will always be followed by a wlr_output_commit. This forces the compositor to render an extra frame before stopping the rendering loop. To test, run wleird's frame-callback [1], make sure it's the only visible client on the output and check the interval between frame events is the output's refresh period instead of zero. [1]: https://github.com/emersion/wleird/blob/master/frame-callback.c Closes: swaywm#2051
emersion
added a commit
to emersion/wlroots
that referenced
this issue
Mar 5, 2020
This way, wlr_output_schedule_frame will always be followed by a wlr_output_commit. This forces the compositor to render an extra frame before stopping the rendering loop. To test, run wleird's frame-callback [1], make sure it's the only visible client on the output and check the interval between frame events is the output's refresh period instead of zero. [1]: https://github.com/emersion/wleird/blob/master/frame-callback.c Closes: swaywm#2051
ddevault
pushed a commit
that referenced
this issue
Mar 6, 2020
This way, wlr_output_schedule_frame will always be followed by a wlr_output_commit. This forces the compositor to render an extra frame before stopping the rendering loop. To test, run wleird's frame-callback [1], make sure it's the only visible client on the output and check the interval between frame events is the output's refresh period instead of zero. [1]: https://github.com/emersion/wleird/blob/master/frame-callback.c Closes: #2051
filips
pushed a commit
to filips/wlroots
that referenced
this issue
Mar 15, 2020
This way, wlr_output_schedule_frame will always be followed by a wlr_output_commit. This forces the compositor to render an extra frame before stopping the rendering loop. To test, run wleird's frame-callback [1], make sure it's the only visible client on the output and check the interval between frame events is the output's refresh period instead of zero. [1]: https://github.com/emersion/wleird/blob/master/frame-callback.c Closes: swaywm#2051
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Because of #2046 clients requesting frame callbacks without rendering at all cause a busy-loop in the compositor:
This can be reproduced with the so-called "last good mpv commit" 8a83430a:
Firefox also uses this behavior.
I'm putting together a test client right now.
The text was updated successfully, but these errors were encountered: