chrg6
395f57a2fa
Count the hitch in the run's last frames in the stutter map's exit report.
...
A hitch is decided only after the two frames that follow it, and an episode closes only at the next frame that is not
a candidate (stutter_map.c cand_decide, episode_close). The exit's report summed the areas as they were, so a hitch in
the last two frames before the exit, or a run of long frames ending there, was never counted: the audit's probe
(Av/stutter_exit_probe.c with the real stutter_map.c) printed 0 hitches for a 150 ms frame followed by 0, 1 or 2
frames, and 1 only from 3 frames on. The periodic and focus-loss reports only count it later; the exit loses it.
stutter_report("exit") now adds to its printed totals what the run would have counted: the open episode as
episode_close counts it (a hitch, or two frames or more), and the candidates still waiting, where one over
SM_HITCH_SURE_NS counts whatever follows and each joins the episode of the frame before it as cand_decide joins it. A
waiting candidate under the sure line is left out, as it may be a change of pace. The episode's area decides play or
load, and its first frame's cause goes into the by-cause totals. exit_tail only reads this state: the exit's report
runs on another thread (perf.c perf_summary_flush from the window's close or the game's exit) while the presenting
thread, which owns ep, the candidates and the areas' play counts, may still be in stutter_frame; closing the episode
from there would race it. The per-area lines and the other reports are unchanged.
tests/stutter_hitch_check.c checks six tails (a 150 ms frame followed by 0, 1 or 2 frames, two 150 ms frames, two
with one frame after them, and 87/91/96 ms): the exit's report prints one hitch more than the areas hold, the same
count the run reaches once it goes on. All six printed one fewer before the change. stutter_hitch_check and
stutter_map_check pass; stutter_map.c compiles with the dev flags and with -Wall -Wextra without new warnings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 18:41:39 -05:00
..
2026-11-11 00:39:50 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 04:37:01 -05:00
2026-11-13 18:41:39 -05:00
2026-11-11 00:39:50 -05:00
2026-11-10 23:16:17 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 02:11:46 -05:00
2026-11-10 22:59:02 -05:00
2026-11-09 08:19:19 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 15:17:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 15:17:48 -05:00
2026-11-12 15:17:48 -05:00
2026-11-12 22:24:22 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 06:22:18 -05:00
2026-11-13 06:22:18 -05:00
2026-11-11 00:39:50 -05:00
2026-11-13 03:37:26 -05:00
2026-11-13 09:08:40 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 06:23:01 -05:00
2026-11-09 08:09:25 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 09:08:40 -05:00
2026-11-13 06:22:18 -05:00
2026-11-08 01:25:12 -05:00
2026-11-09 09:10:36 -05:00
2026-11-11 04:35:30 -05:00
2026-11-11 04:35:30 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-12 15:16:30 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 07:08:49 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-11 00:11:41 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 09:08:40 -05:00
2026-11-13 03:37:26 -05:00
2026-11-11 14:06:16 -05:00
2026-11-12 17:41:47 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 07:55:56 -05:00
2026-11-10 23:24:12 -05:00
2026-11-13 18:41:39 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-13 06:06:27 -05:00
2026-11-13 06:06:27 -05:00
2026-11-10 12:48:50 -05:00
2026-11-13 06:22:18 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 06:06:27 -05:00
2026-11-13 09:52:43 -05:00
2026-11-11 00:39:50 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 21:54:40 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 18:41:39 -05:00
2026-11-09 20:48:10 -05:00
2026-11-11 19:38:18 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 06:46:31 -05:00
2026-11-11 04:48:36 -05:00
2026-11-13 15:57:51 -05:00
2026-11-11 00:39:08 -05:00
2026-11-07 09:26:51 -05:00
2026-11-10 23:14:00 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 16:23:02 +01:00
2026-11-12 16:23:02 +01:00
2026-11-11 05:58:43 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 05:58:32 -05:00
2026-11-08 15:51:48 -05:00
2026-11-09 08:09:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 14:38:26 -05:00
2026-11-12 12:09:37 -05:00
2026-11-11 02:36:54 -05:00
2026-11-11 00:39:58 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 18:03:20 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 00:50:21 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 15:57:52 -05:00
2026-11-12 12:09:36 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 12:09:36 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 19:38:17 -05:00
2026-11-07 05:04:39 -05:00
2026-11-07 05:04:39 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 08:54:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 22:59:02 -05:00
2026-11-07 13:31:07 -05:00
2026-11-13 00:53:22 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 16:21:42 +01:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 02:40:51 -05:00
2026-11-12 15:18:25 -05:00
2026-11-09 02:40:51 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 08:35:42 -05:00
2026-11-12 22:34:22 -05:00
2026-11-13 05:54:58 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-10 06:35:28 -05:00
2026-11-10 06:35:28 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 15:57:51 -05:00
2026-11-13 15:57:51 -05:00
2026-11-11 04:36:33 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 22:09:37 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 08:23:11 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-12 22:28:36 -05:00
2026-11-12 22:28:36 -05:00
2026-11-10 23:16:17 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 03:37:26 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 21:33:21 -05:00
2026-11-12 20:03:45 -05:00
2026-11-12 07:55:57 -05:00
2026-11-12 07:55:57 -05:00
2026-11-13 03:42:40 -05:00
2026-11-12 22:57:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 09:52:43 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 03:37:26 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 02:11:46 -05:00
2026-11-12 02:11:46 -05:00
2026-11-13 08:35:42 -05:00
2026-11-12 22:18:14 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 06:23:01 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 18:41:39 -05:00
2026-11-11 04:42:07 -05:00
2026-11-11 04:29:31 -05:00
2026-11-12 16:22:15 +01:00
2026-11-09 03:34:46 -05:00
2026-11-12 04:39:12 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 15:57:52 -05:00
2026-11-11 04:35:30 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 06:46:31 -05:00
2026-11-11 04:49:01 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-12 20:03:59 -05:00
2026-11-12 12:09:37 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 06:46:31 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 06:23:01 -05:00
2026-11-12 22:18:14 -05:00
2026-11-12 22:18:14 -05:00
2026-11-13 00:46:26 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 06:06:27 -05:00
2026-11-12 22:30:56 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 00:49:30 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 15:57:52 -05:00
2026-11-12 13:00:13 -05:00
2026-11-11 05:58:42 -05:00
2026-11-11 05:25:38 -05:00
2026-11-12 23:21:17 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 15:57:52 -05:00
2026-11-10 12:14:29 -05:00
2026-11-12 22:33:29 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 00:50:21 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 05:09:47 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 09:13:35 -05:00
2026-11-13 15:57:52 -05:00
2026-11-10 15:20:47 -05:00
2026-11-13 00:43:03 -05:00