Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resample : Optimize inseparable case with no scaling #5539

Merged
merged 1 commit into from
Nov 20, 2023

Conversation

danieldresser-ie
Copy link
Contributor

The goal was to make as self-contained a change a possible that gets some big wins for one of the more embarassing cases for Reasmple: using a large, inseparable filter without any scaling.

It's reasonably successful on the performance side:

- testPerfInseparableAwkwardSize (GafferImageTest.ResampleTest.ResampleTest) : was 0.48s now 0.30s (38% reduction)
- testPerfInseparableDisk (GafferImageTest.ResampleTest.ResampleTest) : was 3.67s now 1.78s (52% reduction)
- testPerfInseparableLanczos (GafferImageTest.ResampleTest.ResampleTest) : was 12.20s now 2.05s (83% reduction)

I thought about putting together a Changelog entry in case you're happy with this approach and it's ready to merge - but then I realized I'm not sure how the Changelog for this should look, since it's technically not user facing - we don't expose the filter type on the Blur, and you can't create a Resample from the menu. I still think that doing a blur with a non-separable filter shouldn't be an overly large performance hazard, and this change is worth making.

@johnhaddon johnhaddon changed the base branch from main to 1.3_maintenance November 20, 2023 16:01
@johnhaddon
Copy link
Member

Rebased to add a Changes.md entry, but otherwise unchanged. Merging.

@johnhaddon johnhaddon merged commit d4c707a into GafferHQ:1.3_maintenance Nov 20, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants