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
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note (2021.1.X):
This issue will be fixed as part of a larger refactor.