I wanted to start a discussion around particle system LODs, which I feel is a deceptively complex topic. Unlike models and textures, there’s not really one simple way to reduce complexity in a particle system while retaining the same visuals. Chopping particle lifetime and count in half is going to win you performance, sure, but it will also most likely break the entire effect.
I’ve worked in some systems where LODs have been handled mostly on a systematic level, where the engine keeps tracks of how many emitters and particles exist at any one time, and does it’s best to cull and limit instances without affecting gameplay. Other engines I’ve worked in have had a more explicit approach, where the rules for when an effect should spawn, simulate, and render are all exposed for the artist to manipulate on a per effect-basis.
On one hand, I enjoy the systematic solutions that allow me to focus more on the creative aspects of effects authoring and have performance be more of a “behind the scenes”-kind of thing. But on the other hand, having explicit control allows me to fine-tune the performance with minimal visual degradation. It’s hard to say which is the better approach.
I’m curious to hear what have your experiences been!