The frame-cost block
One more block prints under geom, and it is the one number on this page that
is not a property of the frame: what a preset costs to draw, in
milliseconds per frame, taken at 1920x1080 on the report’s tier, fully
driven (ADR-0232).
The report’s second header line names the machine it was taken on — the adapter
as wgpu names it, and the build profile — because a frame time is a fact about
a GPU, a driver and a profile rather than about the code
(ADR-0071),
and cargo run --example shot is a debug build unless told otherwise, which
moves the CPU side of every reading by an order of magnitude.
frame cost on AMD Radeon Graphics (RADV RENOIR) (Vulkan, IntegratedGpu), driver radv Mesa 26.2.2-arch1.1, debug profile ... preset ms/frame Meter Mono 0.542 Ridge 3.589 Whorl 21.905 !The method is the one the cost tests under core/tests/ use: each preset is
captured for 8 frames and for 48, the smaller of two readings of each leg is
kept, and the cost is the difference over the 40 frames between them — so the
scene rebuild, first-frame allocation and the single readback both legs pay are
subtracted out. The presets of a family are interleaved inside the repeat loop
rather than timed one after another, so none of them inherits a GPU that had
finished ramping its clocks. A reading at or below zero is printed as measured:
it means the two legs were within noise of each other.
It is not a frame rate, and it predicts nothing about the app. The headless
path has no window, no present, no compositor and no audio thread competing
with it, so a preset well under the budget here can still miss it on a screen,
and a number in milliseconds per frame will be read as an fps unless something
says otherwise — which is why the caveat prints beside the cells rather than
here alone. What the column is good for is comparing presets on one
machine: which of a family’s looks is the expensive one, and whether a retune
moved the cost. A ! marks a reading past 16.67 ms, the budget
NFR §1 states at 60 fps at this size
on the floor tier, and it marks only — the report never fails a run over it,
exactly as distinctness never fails one over a near-duplicate. On a software
rasterizer no reading is taken and the cells print -: a frame time on
lavapipe or WARP is a fact about the rasterizer, and CI has no GPU contract to
take one on (ADR-0016).
This pass is the report’s most expensive: 120 frames at 1080p per preset, on
top of the few hundred small frames every other column shares. On the
development box’s integrated GPU a debug-profile family of five costs a few
seconds; a full-library report on a machine near the baseline should be run
with that in mind, and family= narrows it.
Built from 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.