Flutter's Windows frame timings report raster as zero and the engine trace only records command submission, so GPU cost is invisible from inside the app. tool/perf/capture_drag_frames.ps1 fetches Intel PresentMon, relaunches itself elevated (PresentMon needs an ETW session), records the app's presented frames while the user drags, and summarises frame time and GPU busy percentiles against a refresh budget with analyze_presentmon.py. The timeline drive test now also lists the engine's trace event names per thread. Three small benches record the Dart-side costs that were measured along the way, and one compares the two cone painting strategies in the software rasteriser (no clear difference, so the painter is unchanged). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Dara Adedeji committed on 9/19/2026, 9:57:50 PMparente0d464d
7 files changedLine totals unavailable