I’ve been working in Unreal for a little while, and optimization remains a bit of a nebulous concept to me. When I was learning Unreal during an internship my mentor stressed the importance of the shader complexity viewmode. However working in UE4 makes me question what really affects performance, since if the shader complexity mode is to be trusted, it seems like it’d be almost impossible to render lit volumes of particles without hurting performance. Are other game engines just better at handling overdraw? Unreal seems to max out with a relatively small number of overlapping particles.
I’ve done some tests, and even when I’m getting mostly red and a little white in shader complexity, I don’t really see much of an impact on performance, unless I really crank up the particle emission to crazy levels. However I know my system isn’t representative of lower end hardware, so I can’t really tell how badly the effects will influence the performance on worse machines.
So what are some good tips to optimize FX in Unreal? Say I wanted to create a smoke grenade effect that had lit soft particles, and I wanted it to have good density and volume, however it needed to run on consoles without a significant performance hit. How would I approach it?