IFClite TypeScript API
    Preparing search index...

    Interface RenderDegradationInfo

    Payload of Renderer.onPersistentRenderDegradation.

    interface RenderDegradationInfo {
        consecutiveDegradedFrames: number;
        detail: string;
        origin: "frame" | "encode";
    }
    Index
    consecutiveDegradedFrames: number

    Degraded frames in an UNBROKEN run — counted since the last frame that completed, and reset to zero by any frame that does.

    Consecutive, never cumulative, and the distinction is the whole signal: a renderer-lifetime total would also be reached by isolated failures spread across an hour of otherwise healthy rendering, each of which recovered on the next frame. Those are exactly the transient host-memory spikes the non-latching branch exists to absorb silently, and reporting them would fire this on the wrong population while telling us nothing new about the wedged viewports it was built for.

    detail: string

    Message of the throw that crossed the threshold.

    origin: "frame" | "encode"

    Which region of the frame the crossing throw came from: frame is everything outside the encode body (canvas resize, context setup, evicted-batch restore), encode is the command-encoder region — the one that had no device discrimination at all before #2417.