Description

Pooled memory will not be reclaimed from emitters with disabled LODs if Disabled LODs Keep Emitter Alive is checked.

Steps to Reproduce
  1. Create a new cascade particle system
  2. On the Required module set the Emitter Loops to 1
  3. Add an LOD, and disable it
  4. Set the LOD distances to 0.0 and 2500
  5. On the emitter check "Disabled LODs Keep Emitter Alive"
  6. Open or crate a level and edit the level blueprint (You will need to be able to move away from and towards where you spawn your emitter)
  7. Add a for loop triggered by a keyboard key
  8. Set the loop's last index to 100 
  9. In the loop body spawn the particle system created in step 1 with a Spawn Emitter At Location node
  10. Set the pooling method to Auto Release
  11. Play in editor and move far enough away from where you will spawn the emitter to go into the disabled LOD
  12. run the console command Stat ParticleMem
  13. Spawn the emitters with the key from step 7
  14. Watch the Ptcls Data GT Mem UsedMax memory rise

RESULT

The memory will not be freed until you enter into range for the particle to go to the enabled LOD 

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-79657 in the post.

1
Login to Vote

Backlogged
ComponentRendering - Cascade
Affects Versions4.224.23
CreatedAug 30, 2019
UpdatedOct 4, 2019