NFR-P2…P15 — frame timing needs a probe inside a running application #44

Open
opened 2026-09-05 16:20:21 +00:00 by dtourolle · 1 comment
Owner

The frame-timing half of §8, and it is the hard one. NFR-P2, -P4, -P5, -P6, -P9, -P10, -P11, -P12, -P13, -P14 and -P15 all need a probe inside a running Slint application, a GPU adapter, or both.

What exists

dr-gpu/examples/frame_budget is a real instrument for the GPU part, and its results are committed in docs/frame-budget.md with the machine and profile named. But:

  • It is run by hand.
  • The guard version in CI skips itself where there is no adapter, which is the normal case on a runner.

The claim to take from this

Narrower than it was, and still true:

A scroll that dropped to 30 fps tomorrow would reach a user before it reached CI.

Acceptance

  • A probe inside the running application that can report frame times for a scripted interaction — a scroll, a slider drag, a frame change.
  • A runner with a GPU adapter, or an honest statement that these are gated on hardware CI and a manual cadence instead.
  • Budgets stated per measurement, and a regression failing the build rather than notifying — the same standard #42 sets for the catalog half.

Note

This is the largest performance item and the one most likely to be answered by "restate the requirement" rather than "build the harness". Worth deciding which before building it.

See docs/outstanding.md §8.

**The frame-timing half of §8, and it is the hard one.** NFR-P2, -P4, -P5, -P6, -P9, -P10, -P11, -P12, -P13, -P14 and -P15 all need a probe inside a running Slint application, a GPU adapter, or both. ## What exists `dr-gpu/examples/frame_budget` is a real instrument for the GPU part, and its results are committed in `docs/frame-budget.md` with the machine and profile named. But: - It is **run by hand**. - The guard version in CI **skips itself where there is no adapter**, which is the normal case on a runner. ## The claim to take from this Narrower than it was, and still true: > **A scroll that dropped to 30 fps tomorrow would reach a user before it reached CI.** ## Acceptance - [ ] A probe inside the running application that can report frame times for a scripted interaction — a scroll, a slider drag, a frame change. - [ ] A runner with a GPU adapter, or an honest statement that these are gated on hardware CI and a manual cadence instead. - [ ] Budgets stated per measurement, and a regression failing the build rather than notifying — the same standard #42 sets for the catalog half. ## Note This is the largest performance item and the one most likely to be answered by "restate the requirement" rather than "build the harness". Worth deciding which **before** building it. See `docs/outstanding.md` §8.
dtourolle added the uiunmet-requirementsize:Lgpuperformance labels 2026-09-05 16:20:21 +00:00
Author
Owner

The hard half of #42 and #43. Decide whether to build the harness or restate the requirements before building it.

**The hard half of** #42 and #43. Decide whether to build the harness or restate the requirements *before* building it.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dtourolle/DarkRoom#44