Michel Dänzer
ca341ef1ea
frame-clock: Simplify dynamic max render time calculation
...
Store only two values per kind of duration: The short term and long term
maximum.
The short term maximum is updated in each frame clock dispatch. The long
term maximum is updated at most once per second: If the short term
maximum is higher, the long term maximum is updated to match it.
Otherwise, a fraction of the delta between the two maxima is subtracted
from the long term maximum.
Compared to the previous algorithm:
* The calculcations are simpler.
* The calculated max render time has a slow exponential drop-off (by at
most a few milliseconds every second) instead of potentially abruptly
dropping after as few as 16 frames.
This should fix https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4830
since the short term maximum should always include a sample from the
clock's second tick.
v2:
* Use divisor 2 instead of 4.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2500 >
2022-12-17 23:45:19 +00:00
..
2022-08-02 09:52:22 +02:00
2022-01-07 21:14:09 +00:00
2021-10-29 00:27:18 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-11-25 10:26:52 +00:00
2022-12-16 16:27:33 +00:00
2022-11-04 18:47:27 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-05-31 16:28:13 -03:00
2022-06-03 12:57:31 +00:00
2022-11-22 13:32:52 +01:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-02-22 13:52:27 +01:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-12-17 13:21:50 +00:00
2020-12-17 13:21:50 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-07-16 19:08:06 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-25 00:28:41 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-06-09 15:00:07 +00:00
2022-06-09 15:00:07 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-02-19 11:57:05 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-02-24 22:36:27 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2019-12-03 19:02:14 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-05-26 13:54:28 +00:00
2021-07-16 19:08:06 +02:00
2022-05-04 19:36:46 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-01-07 21:14:09 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-12-15 12:07:57 -03:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-03-22 10:47:51 +00:00
2022-11-09 10:46:55 +00:00
2022-03-21 23:08:40 +00:00
2022-08-24 22:43:54 +00:00
2022-08-24 22:43:54 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-12-17 23:45:19 +00:00
2022-01-05 15:57:45 +00:00
2021-01-22 16:47:08 +00:00
2021-01-22 16:47:08 +00:00
2021-01-22 16:47:08 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-01-29 00:37:14 +00:00
2020-10-06 15:34:47 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-02-22 13:52:27 +01:00
2022-11-22 13:32:52 +01:00
2022-08-02 09:52:22 +02:00
2022-01-29 02:11:37 +01:00
2022-08-02 09:52:22 +02:00
2020-11-27 15:14:33 +00:00
2022-12-17 13:52:51 +00:00
2022-11-09 10:46:55 +00:00
2022-07-19 11:04:56 +00:00
2022-07-19 11:04:56 +00:00
2022-07-19 11:04:56 +00:00
2022-07-19 11:04:56 +00:00
2022-07-19 11:04:56 +00:00
2022-04-29 18:58:38 +00:00
2022-04-29 18:58:38 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-03-04 17:39:08 +00:00
2021-03-04 17:39:08 +00:00
2021-03-04 17:39:08 +00:00
2022-08-02 09:52:22 +02:00
2020-08-29 09:10:31 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-11-21 16:51:00 +00:00
2022-08-02 09:52:22 +02:00
2022-09-20 18:47:06 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-10-16 13:46:23 -03:00
2020-10-16 13:46:23 -03:00
2020-09-30 15:56:07 +00:00
2021-10-18 14:36:15 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-11-04 18:47:27 +00:00
2022-11-04 18:47:27 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2020-11-25 16:34:29 +00:00
2022-08-02 09:52:22 +02:00
2021-12-07 20:04:08 +00:00
2021-12-07 20:04:08 +00:00
2022-03-29 18:13:11 +08:00
2022-06-03 12:57:31 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-02-22 13:52:27 +01:00
2020-05-07 20:04:07 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-01-11 16:13:39 +00:00
2022-08-02 09:52:22 +02:00
2022-01-17 09:48:51 +01:00
2021-05-05 19:07:26 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-07-26 14:18:13 +00:00
2022-08-02 12:54:18 +02:00
2022-09-01 20:40:35 +00:00
2022-09-01 20:40:35 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-11-25 10:26:52 +00:00
2022-08-10 10:47:51 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-11-04 18:47:27 +00:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2021-06-29 21:36:43 +00:00
2020-07-02 19:36:50 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-01-17 09:48:51 +01:00
2022-01-17 09:48:51 +01:00
2022-08-02 09:52:22 +02:00
2022-08-02 09:52:22 +02:00
2022-06-09 15:00:07 +00:00
2022-06-09 15:00:07 +00:00