Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@bdero
Copy link
Member

@bdero bdero commented Aug 31, 2022

Just changing it to a simpler linear curve saves more than half the execution time for the max blur in Wonders, and there doesn't seem to be any visible color jitter as the texture size changes gradually. Making the curve any steeper results in visible banding.
I'm experimenting with some optimizations that are heavier on the information loss side, but this adjustment is pretty safe and is getting me much better frame times.

I don't think this is the final curve we'll use when the blur radius is extremely high (like when the blur radius is getting to be larger than the dimensions of the input texture). I think we'll want a 2nd order asymptotic falloff.

@bdero bdero requested review from chinmaygarde and zanderso August 31, 2022 23:54
@bdero bdero self-assigned this Aug 31, 2022
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@bdero bdero changed the title [Impeller] More agressively optimize gaussian blurs [Impeller] More aggressively downscale gaussian blur textures Sep 1, 2022
@bdero bdero force-pushed the bdero/linear-gaussian-blur branch from 8d0a1e6 to 2836958 Compare September 1, 2022 00:48
@bdero
Copy link
Member Author

bdero commented Sep 1, 2022

I rebased this on top of #35854 because this change exacerbates the issue solved by that PR a bit. In practice, the issue fixed in 35854 caused the image to get scaled down too much on the second pass when the x sigma is tiny, which can cause a bit of glitching while transitioning the blur in Wonderous very slowly.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSLGTM

@bdero bdero merged commit d8928a0 into flutter:main Sep 1, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 1, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 1, 2022
zanderso pushed a commit to flutter/flutter that referenced this pull request Sep 1, 2022
…110796)

* f30fed5ab Ignore all translations in Matrix::TransformDirection (flutter/engine#35854)

* d8928a0b6 [Impeller] More aggressively downscale gaussian blur textures (flutter/engine#35853)

* 5454c09a0 Roll Fuchsia Mac SDK from sgXD5SyRPOxGjWV4q... to VCkCQ9VaBkOXaOnQU... (flutter/engine#35858)

* 4ef0eb243 Roll Skia from d505b9445bf6 to 74d7dcaf7a4e (1 revision) (flutter/engine#35857)

* 5cab38584 Do frustum culling after the MSAA backdrop draw (flutter/engine#35847)

* 4e6bb5da5 Roll Skia from 74d7dcaf7a4e to ca89d2781f78 (1 revision) (flutter/engine#35859)

* 5dc718f92 Roll Skia from ca89d2781f78 to 8c7e99e0546e (2 revisions) (flutter/engine#35860)

* c3a956050 Roll Skia from 8c7e99e0546e to defbe6b80d7b (1 revision) (flutter/engine#35861)

* 1f7fe40d8 Roll Skia from defbe6b80d7b to d8a45111ba9a (1 revision) (flutter/engine#35862)

* f74d2439e Add function restoreToCount to Canvas. (flutter/engine#35798)

* 152228e27 Roll Skia from d8a45111ba9a to 97f1748bbfc0 (1 revision) (flutter/engine#35863)

* 08394d74c Fixed the nullability annotation on codec `writeValue:` (flutter/engine#35814)

* 185f4f595 Revert "roll CanvasKit to 0.36.1 (attempt 2) (#35839)" (flutter/engine#35864)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants