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

Add support for frame throttling on wayland with winit #4200

Closed
tronical opened this issue Dec 20, 2023 · 0 comments · Fixed by #4258
Closed

Add support for frame throttling on wayland with winit #4200

tronical opened this issue Dec 20, 2023 · 0 comments · Fixed by #4258
Labels
a:backend-winit Winit backend (mS,mO) a:platform-linux issue specific to Linux, X11 or wayland (mO,bT) bug Something isn't working

Comments

@tronical
Copy link
Member

tronical commented Dec 20, 2023

Similar to #4025, we should be using winit's pre_present_notify to throttle the refresh on wayland.

Frame rates > 60 FPS have been observed by users on wayland, that should not happen.

Test setup:

  • Weston
  • Rendering with Skia software renderer
  • SLINT_DEBUG_PERFORMANCE="refresh_full_speed,console"
  • Run for example the printer demo

With EGL based rendering, swap buffers rate limits, but when using the software renderer, the shm transport ends up being used, which can submit to the compositor at unlimited rate. This is where the wayland frame callbacks help and throttle rendering as needed.

@tronical tronical added bug Something isn't working a:platform-linux issue specific to Linux, X11 or wayland (mO,bT) a:backend-winit Winit backend (mS,mO) labels Dec 20, 2023
tronical added a commit that referenced this issue Jan 3, 2024
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.

Fixes #4200
tronical added a commit that referenced this issue Jan 3, 2024
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.

Fixes #4200
cc #1695
tronical added a commit that referenced this issue Jan 3, 2024
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.

Fixes #4200
cc #1695
tronical added a commit that referenced this issue Jan 3, 2024
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.

Fixes #4200
cc #1695
tronical added a commit that referenced this issue Jan 4, 2024
Use winit's pre_present_notify() API to allow for the compositor to throttle rendering.

Fixes #4200
cc #1695
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:backend-winit Winit backend (mS,mO) a:platform-linux issue specific to Linux, X11 or wayland (mO,bT) bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant