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