Skip to content

Frame convergence as the performance gate, not wall clock #84

Description

@DrDrewCain

Frame convergence as the performance gate, not wall clock.
Harness::run() returns the number of frames needed before no repaint is
requested and animations settle, and errors past with_max_steps
(default 4). assert_eq!(harness.run(), 2) catches an accidental
request_repaint loop or a layout that never settles — the usual reason
an egui app pins a CPU core. It is deterministic and free.

Deliberately not a wall-clock frame-time assertion. This project has
already learned that timing assertions on shared runners are flaky; the
whole measure.sh apparatus exists because of it. Track Criterion over
run_ui and tessellate separately, alert on ratio rather than absolute,
and keep any absolute budget on a dedicated machine.


Source: TODO.md line 2986 — Interface › Testing the interface

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceMeasured speed and allocationtestingTest suites and CI gates

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions