FramePerfRecord class

An immutable per-frame performance record captured by FramePerfWatcher.

Carries the fields FrameTiming actually exposes (buildMicros, rasterMicros, vsyncOverheadMicros, totalSpanMicros) plus the per-frame attribution join, blocks: a map from block name (a widget build span, a layout span, ...) to how much time it consumed and how many times it ran during that frame.

blocks serializes to a plain JSON object of nested objects, each carrying micros and count:

{"Widget.build": {"micros": 600, "count": 5}}

Constructors

FramePerfRecord({required int frameNumber, required int buildMicros, required int rasterMicros, required int vsyncOverheadMicros, required int totalSpanMicros, required DateTime time, required Map<String, ({int count, int micros})> blocks})

Properties

blocks → Map<String, ({int count, int micros})>
Per-block attribution for this frame: block name to its total duration in microseconds and how many times it ran.
final
buildMicros → int
final
frameNumber → int
The engine's frame number, as reported by FrameTiming.frameNumber.
final
hashCode → int
The hash code for this object.
no setterinherited
rasterMicros → int
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
time → DateTime
final
totalSpanMicros → int
final
vsyncOverheadMicros → int
final

Methods

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

Operators

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