# Add a presented-frame capture for drag testing on high-refresh displays · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/3026602cd25979888e27a971d3207a6544870705)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 3026602cd25979888e27a971d3207a6544870705

Requested commit: 3026602cd25979888e27a971d3207a6544870705

Commit: 3026602cd25979888e27a971d3207a6544870705

Tree: 4b6ed1326d8f18f4f81e70ac9322ca161f1962ec

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Add a presented-frame capture for drag testing on high-refresh displays

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>

```

## Parents

- [e0d464d8ef6e0582bfcdde64152f34b46167af79](https://git.cafe/dara/icarus/commit/e0d464d8ef6e0582bfcdde64152f34b46167af79?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/3026602cd25979888e27a971d3207a6544870705?format=markdown)
