-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] compute path bounds once, use Skia computed bounds where possible. #45456
Conversation
The motivation for this is that bounds computation ended up being a fairly slow part of the aiks canvas patch, as we were computing the bounds of things multiple times. While this may not make a huge difference without that patch, I do think there are places where we may compute the bounds of a path more than once. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and the comments were really helpful, thanks!
…134069) flutter/engine@1a6b47a...f4975e0 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from c07fbf4c1d67 to a0572041af8e (3 revisions) (flutter/engine#45460) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from 9666d4d5f7c8 to dcd62fc41c3b (1 revision) (flutter/engine#45457) 2023-09-05 jonahwilliams@google.com [Impeller] compute path bounds once, use Skia computed bounds where possible. (flutter/engine#45456) 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from d8ea902500a3 to c07fbf4c1d67 (2 revisions) (flutter/engine#45451) 2023-09-05 zanderso@users.noreply.github.com Adds a Dart library for loading and parsing build configs (flutter/engine#45390) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from 17c4741d70dd to 9666d4d5f7c8 (1 revision) (flutter/engine#45453) 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from 055b26152483 to d8ea902500a3 (1 revision) (flutter/engine#45448) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from e72efa276c45 to 17c4741d70dd (1 revision) (flutter/engine#45449) 2023-09-05 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from qe_q1aYCmE0eC-2Yz... to bHw1LzoikQJthLkTE... (flutter/engine#45447) 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from 9ef0225b5f8a to 055b26152483 (1 revision) (flutter/engine#45446) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from b62216047112 to e72efa276c45 (1 revision) (flutter/engine#45443) 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from 7d0e33e32427 to 9ef0225b5f8a (1 revision) (flutter/engine#45442) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from e691a4edb19a to b62216047112 (1 revision) (flutter/engine#45441) 2023-09-05 skia-flutter-autoroll@skia.org Roll Skia from 8206402f3c35 to 7d0e33e32427 (2 revisions) (flutter/engine#45440) 2023-09-05 skia-flutter-autoroll@skia.org Roll ANGLE from ab9bbb9b11b3 to e691a4edb19a (1 revision) (flutter/engine#45437) 2023-09-05 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from A82pOZ3-NNgfJ2Da7... to qe_q1aYCmE0eC-2Yz... (flutter/engine#45436) Also rolling transitive DEPS: fuchsia/sdk/core/mac-amd64 from A82pOZ3-NNgf to bHw1LzoikQJt If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This shows a small improvement on the tessellation benchmarks: |
SkiaPerf also noted a measurable drop in CPU util: https://flutter-flutter-perf.skia.org/e/?begin=1693944748&end=1693976367&keys=X482a7810cfb443f67edcbab15e03f59b&num_commits=50&request_type=1&xbaroffset=36676 |
|
Now that Paths are externally immutable, we can compute the bounds once at construction. This also allows the Skia conversions to set the already computed bounds.