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
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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
This is a duplicate of issue #1189556