interface PassReport
The frame's GPU time by pass, independent of the renderer that timed it —
apps/game/src/render/passTimeline.ts produces it, ir.passes() reports it.
Members
busyMsreadonly
busyMs: number
The passes' shares summed, per frame: time any timed pass ran.
droppedreadonly
dropped: number
framesreadonly
frames: number
gapsreadonly
gaps: readonly { after: string; before: string; ms: number }[]
Time between passes with no pass running.
ownedreadonly
owned: readonly { label: string; latencyMs: number; samples: number; source: string }[]
Passes timed by their owner's own timer, beside the rest: the upscaler's,
which run outside the renderer's hooks. Begin-to-end means, so latency
rather than cost, over as many frames as the owner's timer has slots —
samples says how many. Not counted in busyMs; the work falls in one
of gaps, so adding the two counts it twice.
passesreadonly
passes: readonly { 5 fields }[]
spanMsreadonly
spanMs: number
First pass begin to last pass end, per frame.
wallMsreadonly
wallMs: number
Wall clock per frame across a drained queue — ir.gpu()'s figure.