FrameTiming class Null safety

Time-related performance metrics of a frame.

If you're using the whole Flutter framework, please use SchedulerBinding.addTimingsCallback to get this. It's preferred over using PlatformDispatcher.onReportTimings directly because SchedulerBinding.addTimingsCallback allows multiple callbacks. If SchedulerBinding is unavailable, then see PlatformDispatcher.onReportTimings for how to get this.

The metrics in debug mode (flutter run without any flags) may be very different from those in profile and release modes due to the debug overhead. Therefore it's recommended to only monitor and analyze performance metrics in profile and release modes.


FrameTiming({required int vsyncStart, required int buildStart, required int buildFinish, required int rasterStart, required int rasterFinish, required int rasterFinishWallTime, int frameNumber = -1})
Construct FrameTiming with raw timestamps in microseconds. [...]


buildDuration Duration
The duration to build the frame on the UI thread. [...]
frameNumber int
The frame key associated with this frame measurement.
hashCode int
The hash code for this object. [...]
read-only, inherited
rasterDuration Duration
The duration to rasterize the frame on the raster thread. [...]
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
totalSpan Duration
The timespan between vsync start and raster finish. [...]
vsyncOverhead Duration
The duration between receiving the vsync signal and starting building the frame.


noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
timestampInMicroseconds(FramePhase phase) int
This is a raw timestamp in microseconds from some epoch. The epoch in all FrameTiming is the same, but it may not match DateTime's epoch.
toString() String
A string representation of this object. [...]


operator ==(Object other) bool
The equality operator. [...]