Closed Bug 1634903 Opened 5 years ago Closed 4 years ago

[Wayland][Gnome] VsyncSource reduces frame rates on vsynctester.com

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: rmader, Unassigned)

References

()

Details

Setting widget.wayland_vsync.enabled to true sometimes reduces FPS on https://www.vsynctester.com/ - when it happens, it usually goes down to ~40 on my 60Hz display. Frame rates are mostly stable at 60 when turned off.

This might have to do with non-optimal frame scheduling, but more investigation is needed. One candidate would be implicit buffer synchronization, see https://gitlab.gnome.org/GNOME/mutter/-/issues/1162

Blocks: 1629140

It looks like Mutter is not yet scheduling frame callbacks as it should, therefore leading to this regression. There's pending MRs which appear to solve the issue (see https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1241#note_794399).

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1218
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1241

Summary: [Wayland] VsyncSource reduces frame rates on vsynctester.com → [Wayland][Gnome] VsyncSource reduces frame rates on vsynctester.com

Closing this at it's a compositor issue - nothing we should do something about in Firefox.

As of Mutter 3.38 it's not yet fixed, but a pending MR (https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1241) solves the issue.

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID
Resolution: INVALID → MOVED

Sorry I have to take that back - the MR mentioned above does not fix the issue and now I think we need to adapt our vsync implementation more to how frame callbacks work, i.e. they are free to not match the screen vsync interval.

Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: MOVED → ---

Can't reproduce this any more :/

Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.