FPS timer silently drops time after stalls longer than 1 second #674
Labels
No labels
Context: Async
Context: Bug
Context: CI
Context: Dependencies
Context: Documentation
Context: Enhancement
Context: Example
Context: Macro
Context: Runtime
Difficulty: Easy
Difficulty: Hard
Difficulty: Medium
Platform: Android
Platform: iOS
Platform: Linux
Platform: macOS
Platform: Web
Platform: Windows
Type: Discussion
Type: Evaluation
Type: Tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
SakulFlee/Orbital#674
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: 🔵 Low
File:
Crates/orbital_app/src/timer.rs:25Bug:
The delta time is clamped to 1.0 on every frame:
If a frame takes 3 seconds (e.g. window drag, breakpoint hit, backgrounded app), delta is capped at 1.0. The FPS cycle triggers once, subtracts 1.0 from
cycle_delta_time, and the remaining ~2 seconds are silently lost. The FPS counter under-reports and cycle-based timestamps drift.Impact: Cosmetic — FPS logging becomes inaccurate after stalls. No functional impact on rendering since WGPU handles frame pacing independently.
Fix: Either remove the clamp (accept extreme delta values in FPS calculation) or accumulate the remainder for proper catch-up.
@SakulFlee