core/performance_tier_service
library
Classes
-
FrameBudgetTracker
-
Pure FPS tracker: no dependency on
SchedulerBinding/Flutter bindings at
all, so it can be driven with synthetic frame durations in a plain unit
test. Keeps a rolling window of the last windowSize frame durations
(ms); once the window fills, averages it into an FPS figure and applies
hysteresis — a lower downgradeFpsThreshold and a higher
upgradeFpsThreshold — so a device hovering right around one cutoff
doesn't flap between tiers every window.
-
PerformanceTierService
-
Runtime, live-reactive FPS gate for decorative shader/ticker layers.
Enums
-
PerformanceTier
-
Coarse runtime performance bucket a decorative shader/ticker layer
(
AuroraBgLayer, NeonAuraLayer — see ShaderTickerLayerState) checks
to decide whether to keep animating.