mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
test(track): freshen rotation passes before the arrival probe and retry an inconclusive timeout
A headless SwiftShader run showed a 926 ms first frame on the military probe, which no wall-clock budget can accept: the 1 s idle refresh may already have run inside it. Raise moveEnd and wait one frame before each attempt so the settle frame is measured against a pass that just ran, and treat a timeout (never a wrong angle) as inconclusive with one more attempt. Document why the per-phase budget stays at half the refresh interval. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
9059cd942f
commit
e3c4e88d6f
2 files changed
+43
-25
No files matched your search
@@ -2,8 +2,11 @@
|
||||
* Wall-clock budget for EACH observed frame, regardless of FPS. Both the settle
|
||||
* frame (measured from the forced moveEnd) and the reveal frame (measured from
|
||||
* the settle frame that hid the contact) must land inside it, so neither can be
|
||||
* repaired by the one-second idle rotation refresh before it is read — while a
|
||||
* ~300 ms software-rendered frame (headless SwiftShader) still fits twice.
|
||||
* repaired by the one-second idle rotation refresh before it is read. The
|
||||
* refresh clock starts at the fleet tick (preRender) of the frame the budget is
|
||||
* measured from, so the budget must leave room for that frame's own render
|
||||
* time: half the refresh interval tolerates frames up to ~500 ms, and a ~300 ms
|
||||
* software-rendered frame (headless SwiftShader) fits with margin.
|
||||
*/
|
||||
export const ARRIVAL_OBSERVATION_MS = 500;
|
||||
|
||||
|
||||
Reference in new issue
Block a user