grade property

String get grade

Performance grade based on jank rate and avg build time relative to the device's frame budget (0.5x/0.75x/1x — at 60Hz that's the classic 8/12/16ms thresholds).

Implementation

String get grade {
  final budget = PerformanceCapture.frameBudgetMs;
  if (jankRate == 0 && avgBuildMs < budget * 0.5) return 'A';
  if (jankRate < 5 && avgBuildMs < budget * 0.75) return 'B';
  if (jankRate < 15 && avgBuildMs < budget) return 'C';
  if (jankRate < 30) return 'D';
  return 'F';
}