perf(compositor): account for late frame dispatch

Include observed timer dispatch delay in the render budget, capped at one refresh and decayed by elapsed time. Preserve the scheduled presentation target and output-local state. Existing scheduling assertions remain intact; a negative control verifies the new deadline regression.
This commit is contained in:
Samuel Onoja committed 2026-10-24 22:44:06 +01:00
1 parent f5fff6d930
commit 417f78aa94
4 files changed
+113 -16

No files matched your search

+1 -1
View File
@@ -543,7 +543,7 @@ mod tests {
for tick in 0..(hz * 3 / 10) {
let now = interval * tick as u32;
if scheduler.plan(now).is_some() {
let plan = scheduler.begin().unwrap();
let plan = scheduler.begin(now).unwrap();
attempts += 1;
scheduler.rendered(plan, now, Duration::ZERO, false);
if state.sample_frame(&output, Duration::ZERO).animating {