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

Allow any number of frames for the SDFGI Frames To Converge setting #50796

Closed

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Jul 24, 2021

This allows for more flexibility over the stability versus update speed compromise.

This closes #50773.

Preview

Edit: This pull request was amended to limit the maximum value to 120 (instead of 300). Higher values don't bring a significant benefit, but make performance drops more extreme when the camera moves fast.

Bounce Feedback 0, Energy 1

Default (25 frames) Maximum (300 frames)
Before After

Bounce Feedback 0.5, Energy 0.5

Default (25 frames) Maximum (300 frames)
Before After

@Calinou Calinou requested review from a team as code owners July 24, 2021 05:04
@Calinou Calinou added this to the 4.0 milestone Jul 24, 2021
@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch 2 times, most recently from cfca757 to fbf6d91 Compare July 24, 2021 05:11
@clayjohn
Copy link
Member

I don't think this closes #50773. 300 frames to converge would take 5 seconds at 60 fps. That would be totally unusable for a camera in motion.

To close #50773 we need to improve SDFGI so that it is less blotchy at reasonable settings.

@Calinou
Copy link
Member Author

Calinou commented Jul 24, 2021

That would be totally unusable for a camera in motion.

From my testing, it seems to work well enough if the camera doesn't move too fast. The usability of higher values also depends on your cascades' individual size (which is determined by the Cell Size property). With larger cell sizes, GI will be less detailed but a given cascade will cover a larger area, which reduces the need for SDFGI generation when the camera is moving.

@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch from fbf6d91 to 5bd0f0b Compare July 24, 2021 06:55
@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch from 5bd0f0b to edbbdc3 Compare August 16, 2021 03:54
@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch from edbbdc3 to a2945a1 Compare January 18, 2022 21:36
@Calinou
Copy link
Member Author

Calinou commented Jan 18, 2022

Rebased and tested again, it works as expected.

Note that I decreased the maximum value from 300 to 120, as values above 120 don't bring much of a benefit compared to the performance drop caused by fast camera movement.

As an added sidenote, #56761 makes very low frame convergence numbers viable if you combine it with a high SDFGI Probe Ray Count setting. You can get fully real-time GI in a way similar to VoxelGI, but with SDFGI 🙂
The added bonus is that fast camera movement will barely cause any slowdown.

@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch 2 times, most recently from 9dfa7c6 to 1c1a903 Compare January 18, 2022 21:53
@Calinou Calinou force-pushed the sdfgi-frames-to-converge-any-value branch from 1c1a903 to 32c98c4 Compare February 28, 2022 01:59
This allows for more flexibility over the stability versus update speed
compromise.
@reduz
Copy link
Member

reduz commented Jul 30, 2022

I will entirely change this code when I get a bit more time, so feel free to close this one.

@Calinou Calinou closed this Jul 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SDFGI Is Splotchy On Large Uniform Surfaces
3 participants