FrameEvent class final

One frame's per-phase timing breakdown plus the headline counters the live overlay shows. Emitted once per rendered frame.

Constructors

FrameEvent({required int frameNumber, required String reason, required Duration build, required Duration layout, required Duration paint, required Duration diff, required int dirtyCells, CellRect? dirtyBounds, DirtySpanFrameStats dirtySpans = DirtySpanFrameStats.empty, List<String> dirtySources = const <String>[], RenderLayoutFrameStats layoutStats = RenderLayoutFrameStats.empty, RepaintBoundaryFrameStats repaintBoundaries = RepaintBoundaryFrameStats.empty, required CellSize bufferSize})
const

Properties

bufferSize → CellSize
final
build → Duration
final
diff → Duration
final
dirtyBounds → CellRect?
Bounding rectangle for emitted dirty cells, or null when the frame produced no diff.
final
dirtyCells → int
final
dirtySources → List<String>
Best-effort build/layout/paint invalidation sources that caused this frame.
final
dirtySpans → DirtySpanFrameStats
Row-span shape for emitted dirty cells. This is diagnostic data for distinguishing sparse single-cell churn from contiguous row updates.
final
frameNumber → int
Monotonically increasing, never wraps.
final
hashCode → int
The hash code for this object.
no setterinherited
layout → Duration
final
layoutStats → RenderLayoutFrameStats
Render-layout cache activity observed during the layout phase.
final
paint → Duration
final
reason → String
Best-effort reason the frame was scheduled.
final
repaintBoundaries → RepaintBoundaryFrameStats
Repaint-boundary cache activity observed during the paint phase.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
total → Duration
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited