The game is running slow in parts, so I need to look at my fx and see where I can speed up the frame rate. The rift slows things down a bit, so I’m going to do optimisation in two stages, one for monitor and one for rift.
Monitor Stress Test
Has already had some optimisation done. Uses fixed bounds and has lower spawn rate. Works fine but the visual impact has been reduced greatly, a shame since the fx is supposed to be the forefront of the game. Will experiment with improving this. Frame = 100
Game = 16
Draw = 100
GPU = 100
Same as realistic. Can notice jumps in frame rate when passing underneath fx though. May leave this as is and see.
Frame = 100
Game = 12
Draw = 100
GPU = 100
Runs very smoothly. No issue at all.
Frame = 16
Game = 9
Draw = 16
GPU = 16
Runs very smoothly. No issue at all. Go nature rooms!
Frame = 10
Game = 8
Draw = 10
GPU = 10
Frame rate drops considerably, messes with sound and ability to move. Incredibly jarring. Needs fixed. Frame = 250 Game = 12 Draw = 250 GPU = 250 Fire Abstract A tad slow, noticeable to me but perhaps not to players. Will leave for now and see if anyone notices. Frame = 113 Game = 12 Draw = 113 GPU = 113
First issue here is that there are too many fx visible at once. I took out the first ones to allow the player to at least get orientated before the game starts chugging! Didn’t improve anything when near the fx, but better on entry.
Second thing was adding fixed relative bounds, so the particles only draw when they can be seen. This took me down to about 200 for frame.
I then halfed the spawn rate of all emitters, coming down to about 150, and removed the second smoke emitter, coming down to 100.
I read on the unreal documentation that material complexity was an issue for particle optimization, so took out the roughness, refraction and metallic of the water material, as it didn’t seem to be having much effect anyway – it didn’t look anywhere near as good as in the first prototype. Its running at around 100 now too.
Essentially the game is now running at a consistent 15fps. Too low I know, but at least its consistent.