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

Progressive Lightmapper

-

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.

  1. Resolution Note (2021.1.X):

    This issue will be fixed as part of a larger refactor.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.