Skip to content

Steady the health pill's fps readout#83

Merged
MyNamesEMurray merged 1 commit into
mainfrom
claude/init-lklchz
Jul 25, 2026
Merged

Steady the health pill's fps readout#83
MyNamesEMurray merged 1 commit into
mainfrom
claude/init-lklchz

Conversation

@MyNamesEMurray

Copy link
Copy Markdown
Owner

What & why

The in-app health pill showed 60 fps capture fluctuating between ~57 and ~63. The camera was never drifting — capture pins min and max frame duration to exactly 1/fps (the cadence lock in docs/PERFORMANCE.md). The meter was the problem: it counted frames between two Task.sleep(1s) wakeups, and those wakeups land tens of milliseconds late under load, so the window length varied while the count was taken at face value.

The sampler now timestamps each stats snapshot and reports rates normalized by the actual elapsed time between them, which reads a locked 60 fps stream as a steady 60 and also stabilizes the Mb/s figure. Display-only; no capture or pipeline change.

How it was tested

Swift sources parse clean via syntax-check.sh (full type check in CI's macOS job). Visual confirmation is on-device: the pill should now sit at the set frame rate instead of wandering ±3.

🤖 Generated with Claude Code

https://claude.ai/code/session_015dWUcqAkNNuNELnMPS4RdT


Generated by Claude Code

The overlay counted frames between two Task.sleep(1s) wakeups, and
those wakeups drift tens of milliseconds under load — a capture locked
at exactly 60 fps (min = max frame duration, see PERFORMANCE.md) read
as 57-63 depending on how long each window really was. The sample now
timestamps each snapshot and reports rates normalized by the actual
elapsed time, which also steadies the Mb/s figure. Capture itself was
never fluctuating; no pipeline change.

Release-Bump: minor
Release-Beta: true

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015dWUcqAkNNuNELnMPS4RdT
@MyNamesEMurray
MyNamesEMurray enabled auto-merge July 25, 2026 23:48
@MyNamesEMurray
MyNamesEMurray merged commit 77dfee4 into main Jul 25, 2026
6 checks passed
@MyNamesEMurray
MyNamesEMurray deleted the claude/init-lklchz branch July 25, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants