analysis/performance
library
Functions
-
budgetMsForRefreshRate(double hz)
→ double
-
The per-frame budget for a display refresh rate: 16.7ms at 60Hz,
11.1ms at 90Hz, 8.3ms at 120Hz. Judging a 120Hz phone against 16ms
grades a visibly janky app as "A".
-
frameFromFlutterFrameEvent(Map<String, dynamic> data)
→ FrameData?
-
Convert one
Flutter.Frame extension-stream event's data (all fields in
microseconds — the same interface DevTools consumes) into a FrameData.
-
parseDisplayRefreshRate(String dumpsysOutput)
→ double?
-
Parse the display refresh rate out of
adb shell dumpsys display output.
Returns null when nothing parseable is present.
-
parseTimelineFrames(List<Map<String, dynamic>> events)
→ List<FrameData>
-
Fallback timeline parsing: modern engines emit frame phases as COMPLETE
events (
ph: "X" with a dur), not the Begin/End pairs keyed by
frame_number that older code assumed. Build ("Frame") and raster
("GPURasterizer::Draw"/"Rasterizer::DoDraw") run pipelined on separate
threads, so we pair them by order of appearance.