summaryrefslogtreecommitdiff
path: root/HACKING.md
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@collabora.com>2023-02-11 07:02:40 +0100
committerMarge Bot <marge-bot@gnome.org>2023-04-17 09:16:10 +0000
commita7a7933e03a19e82907c29814dcd18647a777e7c (patch)
treef67debe40a04204ca5d0d103cc31681ca9665b87 /HACKING.md
parent87b3843615147820822c92031bbe61099f2b9f48 (diff)
downloadmutter-a7a7933e03a19e82907c29814dcd18647a777e7c.tar.gz
wayland: Emit frame events in GSource after "empty" updates
Under certain conditions a stage-view update does not trigger a kms update. In such cases we still want the next update to run within the same refresh cycle, as otherwise we'd waste the remaining time in the current one. At the same time we currently use the `after-update` signal for Wayland frame events, which again may result in more "empty" updates - creating an unthrottled feedback loop. This can trigger excessive load both in the compositor as well as in clients. Introduce a new GSource that is dispatched once per refresh cycle at maximum per stage view and use it to emit frame events. Do so by computing the time from when on we can be sure that an update resulting from a client commit would certainly get scheduled to the next refresh cycle. Note: this only works on the native backend. Given that chances are small that we hit the corresponding issue on e.g. the nested backend, stick to the previous behavior there for now. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2823>
Diffstat (limited to 'HACKING.md')
0 files changed, 0 insertions, 0 deletions