debugProfilePaintsEnabled top-level property
This is only enabled in debug builds. The timing information this exposes is not representative of actual paints. However, it can expose unexpected painting in the timeline.
For details on how to use dart:developer.Timeline events in the Dart Observatory to optimize your app, see: fuchsia.googlesource.com/topaz/+/master/shell/docs/performance.md
- debugPrintLayouts, which does something similar for layout but using console output.
- debugProfileBuildsEnabled, which does something similar for widgets being rebuilt, and debugPrintRebuildDirtyWidgets, its console equivalent.
- The discussion at RendererBinding.drawFrame.
- RepaintBoundary, which can be used to contain repaints when unchanged areas are being excessively repainted.
bool debugProfilePaintsEnabled = false