printReport method
void
printReport()
Implementation
void printReport() {
print('\n┌─────────────────────────────────────────────┐');
print('│ PERFORMANCE — $screenName');
print('├─────────────────────────────────────────────┤');
print('│ Grade : $gradeEmoji $grade');
print('│ Total frames : $totalFrames');
print('│ Janky frames : $jankyFrames (${jankRate.toStringAsFixed(1)}%)');
print('│ Avg build : ${avgBuildMs.toStringAsFixed(2)}ms '
'(budget: 16ms)');
print('│ Avg raster : ${avgRasterMs.toStringAsFixed(2)}ms');
print('│ Worst frame : ${worstFrameMs.toStringAsFixed(2)}ms');
print('│ Memory : ${(memoryKb / 1024).toStringAsFixed(1)}MB');
print('└─────────────────────────────────────────────┘');
if (jankyFrames > 0) {
print(
'\n ⚠️ Jank detected — user will feel stuttering on this screen.');
}
if (avgBuildMs > 16) {
print(
' ⚠️ Avg build time exceeds 16ms — check for heavy build() work.');
}
if (avgRasterMs > 8) {
print(
' ⚠️ High raster time — check for expensive painting operations,');
print(' clipPath, saveLayer, or large image decoding.');
}
if (memoryKb > 200 * 1024) {
print(' ⚠️ Memory over 200MB — check for image cache or leak.');
}
}