Search Issue Tracker

Duplicate

Votes

0

Found in [Package]

7.4.1

Issue ID

1257798

Regression

No

Spikes in CPU Usage are observed when Particle System is used with URP and GPU Instancing enabled

Package: Scriptable Render Pipeline Universal

-

Reproduction steps:
1. Open the project "MeshParticleTest - URP" from the attached archive "MeshParticleTests.zip"
2. Open the scene Assets/Scenes/SampleScene.unity
3. Open the Profiler window from Window > Analysis > Profiler
4. In the Profiler tab, attach it to the Editor by changing the 'Playmode' dropdown to 'Editor' and ensure it is recording data
5. In the Hierarchy tab, select 'Particles_HighPoly' so that the Particle System starts emitting particles in the Scene view
6. In the Profiler, pause recording after capturing some frames and click on the 'CPU Usage' graph to open up the details
7. Navigate to the Job section in the Timeline view of the Profiler and look through the Worker threads

Expected results: there are no high spikes in CPU Usage and all of the worker threads mostly show Idle calls
Actual results: there are high spikes in CPU Usage and when inspecting these spikes in Timeline, one of the Worker threads will have a ParticleSystem.GeometryJob call on it, lasting tens of milliseconds (see particles.png)

Reproducible with: 2019.3.16f1, 2019.4.0f1, 2019.4.2f1 (Universal RP 7.4.1), 2020.1.0b14, 2020.2.0a17 (Universal RP 8.1.0)
Could not test with: 2018.4.24f1 as Universal RP is not available in this version

Notes:
- Hiding 'Particles_HighPoly' in the Hierarchy and repeating steps 4-7 with 'Particles_LowPoly' doesn't produce such high spikes nor calls to ParticleSystem.GeometryJob, even though the Particle System and Particle Count are identical
- When the Reproduction steps are repeated with the project "MeshParticleTest - Legacy" from the attached archive "MeshParticleTests.zip", CPU usage is significantly lower with both 'Particles_HighPoly' and 'Particles_LowPoly'

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.