Jonah Williams 7c2fad0219 [Impeller] improve performance of polyline and stroke generation by reducing allocation and lambda usage. (flutter/engine#50379)
Attempts to reduce the allocation overhead of the stroke geometry generator, while also making it easier to debug and profile. Reverts the change to make PathBuilder::TakePath not move the path data, as this was regressing performance.

* removes dynamic std::vector from cubic to linear component evaluation.
* removes copy from path positions to UVs for texture filled paths
* removes almost all stateful lambdas. Instead there is now a statefull interface that generates the vertices. Stack traces now have useful names.
* Cap/Join procs are now static functions.

Fixes https://github.com/flutter/flutter/issues/142873
2024-02-09 18:37:21 +00:00
..