Why a frame was rendered — the render.byReason.<reason> counter it lands in. Exactly one per render, taken in this precedence:
render.byReason.<reason>
wake
event
once
cb:<id>
true
camera
continuous
?renderAlways
idleRestore
audit
?renderAudit
Why a frame was rendered — the
render.byReason.<reason>counter it lands in. Exactly one per render, taken in this precedence:wake— AnimationController.startAnimation (any input or state handler that wakes the loop),event— AnimationController.requestRender (a commit, a resize, a sort landing …),once— AnimationController.renderOnce; whichever marked the frame dirty FIRST since the last render;cb:<id>— a per-frame callback returnedtrue(it changed what is drawn);camera— the view signature (camera matrices, drawing-buffer size) differs from the last rendered frame's;continuous— something needs every frame drawn (cinematic detector noise, a real-time recording,?renderAlways);idleRestore— the idle pause's one ceiling-DPR frame;audit— a?renderAuditframe the scheduler would have skipped.