Search Issue Tracker
Postponed means that the issue was either a feature request or something that requires major refactoring on our side. Since that makes the issue not actionable in the close future we choose to close it as Postponed and add it on our internal roadmaps and technical debt pages instead.
Postponed
Votes
0
Found in
2019.4
2020.2.0b7
2021.1
Issue ID
1286915
Regression
No
[GPUPLM] VFX Graph updates in Scene View will greatly reduce GPU lightmapper performance
Repro steps:
1. Download an import the attached repro project here
2. Open the Scene SampleScene,unity
3. Ensure that the GameObject "VFX" is enabled
4. Ensure "Progressive GPU" is selected as the Lightmapper backend
5. Assign the "Lighting Settings Ultra" Lighting Settings Asset
6. Generate Lighting for the Scene
7. Open the Editor Log. Search for the latest "Raw Bake" entry
8. Note this time
9. Disable the "VFX" GameObject
10. Generate lighting once again
11. Again open the Editor Log. Search for the latest "Raw Bake" entry
12. Note this time
Observed
The time required to complete a bake using GPU lightmapper will be significantly greater (10x in some cases) than when the VFX graph is not present in the Scene.
I ran the test a few times, and timings are very inconsistent. This appears to be determined by how many GPU particles are being rendered in the Scene View at any one time.
2020.2.0b7 (Foliage contributing, GPU Particles Enabled)
Run Post-Clear - [PathTracer] Total bake time: 408.707611, raw bake time: 374.586029
Run 02 - [PathTracer] Total bake time: 436.575836, raw bake time: 400.569366
Run 03 - [PathTracer] Total bake time: 164.790253, raw bake time: 115.683624
2020.2.0b7 (Foliage Excluded, GPU Particles Disabled)
Run Post-Clear - [PathTracer] Total bake time: 89.709595, raw bake time: 62.163677
Run 02 - [PathTracer] Total bake time: 308.888397, raw bake time: 276.297424
Run 03 - [PathTracer] Total bake time: 161.375916, raw bake time: 122.402596
2020.2.0b7 (Foliage Excluded, GPU Particles Disabled)
Run Post-Clear - [PathTracer] Total bake time: 57.884441, raw bake time: 44.449276
Run 02 - [PathTracer] Total bake time: 56.483215, raw bake time: 43.849010
Run 03 - [PathTracer] Total bake time: 55.702881, raw bake time: 43.896061
Run 04 - [PathTracer] Total bake time: 64.413010, raw bake time: 43.979858
Expected
Bake times should not be affected by VFX Graph being present in the Scene.
Notes
As many real-world productions will likely use particles, and VFX Graph is our preferred option for GPU particles, Unity should be able to deal with this elegantly. It's should be assumed that GPU particles will require many GPU cycles during update. As GPULM performance is also greatly dependent on this, Unity should be able to pause VFX Graph while a bake is running.
Auto Updates for GPU Lightmapper will add some complication here. Perhaps we need to consider adding a checkbox somewhere in the UI to "Pause GPU Dependent Systems During Bake" or similar.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ListView fails to display items when the source list is cleared and a single element is added
- UI Toolkit ':hover' state remains active when another panel is drawn over the hovered element and Touch input is used
- Unsupported Orient modes can be selected and throw errors when using Strip VFX
- "Tab" key exits the name text field in the VFX Graph tab when renaming the Property
- Shader warnings are thrown when deleting blocks in the Ribbon VFX Graph
Resolution Note (2021.1.X):
This issue will be fixed as part of a larger refactor.