You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Impeller] Reduce overhead of rectangle and oval drawing with a shape buffer. #116165
With http://flutter.dev/go/impeller-geometry under way, we can create specialized geometry factories and avoid using libtess for common shapes. But we can reduce overhead even further by uploading one immutable device buffer containing triangle strip vertex data for a simple square and a few circle LODs, which lasts for the lifetime of the Impeller Entities context.
Since the geometry factories are also responsible for producing the vertex transform for the geometry, this would allow us to avoid generating/uploading any vertex data for all rectangles and ovals.
At the moment, this is only feasible when generating the Position-only buffer, but the impact of this can expand to include PositionColor and PositionUV cases once we have a solution for customizing vertex layouts at runtime (as sourcing attributes from multiple distinct buffers simultaneously is allowed on all backends).
I think we've pretty well slimmed down the cost of drawing most primitives today. I don't think we need shape buffers for common cases, but we can always explore this in the future.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
jonahwilliams commentedon May 20, 2024
I think we've pretty well slimmed down the cost of drawing most primitives today. I don't think we need shape buffers for common cases, but we can always explore this in the future.
github-actions commentedon Jun 3, 2024
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.