You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
BeginFrame can hang at 60fps after warmup moves Chrome time backwards #3012
A BeginFrame render can hang during initialization at 60fps and other high frame rates.
Warmup advances Chrome in fixed 33ms steps, but the timestamps used after warmup are calculated from the output fps. At 60fps this makes Chrome time jump backwards:
last warmup tick: 1947ms
init commit tick: about 1067ms
liveness probe tick: about 1083ms
frame zero: about 1167ms
HeadlessExperimental.beginFrame can stall after receiving that sequence.
Reproduction
Run a 60fps render on the BeginFrame path with locked warmup enabled. The timestamp calculation on current main produces the sequence above.
A regression test and the fix are included in #3011.
Expected behavior
The init commit, liveness probe, and first captured frame should all use timestamps later than the final warmup tick.
Actual behavior
The first post-warmup timestamp jumps back by roughly 880ms at 60fps, and the BeginFrame call may never complete.
Environment
Current main at 8e41fa17b985b24cb3b4719e553481a583124b68. The affected path is Linux/headless-shell BeginFrame capture.
Activity
fix(engine): keep BeginFrame time monotonic across frame rates (heyge…