-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Solari: Prevent world cache cells from keeping each other alive infinitely #21904
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
base: main
Are you sure you want to change the base?
Conversation
|
Side note, we need to figure out why the bounce lighting isn't super visible in this test scene. Maybe @DGriffin91 knows? |
|
Unfortunately this is a bit more expensive, likely because of the extra atomics. I'll have to test if copying the lifetime before the cell update to avoid the atomicLoad() improves things. |
With default exposure. |
|
Unless we can find actual visual issues with using a store instead of a max, the store is probably acceptable. It just means we will be a bit more aggressive at clearing than is really necessary. |
|
atomicMax vs atomicStore doesn't seem to matter. I'm guessing the new atomicLoad is the problem, which is easy enough to fix. |
Which version of the scene is this? By default all the materials are 100% metallic. Side note: I'm not able to open the scene in bevy 0.17: #21490 |
|
Figured out the performance changes, it's just from adjusting the maximum allowed cell lifetime. Not a big deal. |
@SparkyPotato's on github. Your's wasn't updated at the time I set this up. |
Objective
Solution
Testing
Video showing the current number of live world cache cells, before and after this PR.
Screen.Recording.2025-11-21.111911.mp4