PostProcess / Particle Effects BAD PERFORMANCE

Hey People,

im running into a Problem and i dont know how to fix it.
The problem is that a Post Process Effect from the Marketplace shrinks down the Frames from 120 to 90 :frowning:
The same thing happens when im using the Steam Particle Effect from the Starter Content. I just resized it over the whole Background to simulate some kind of clouds. 1 Particle Effect takes away about 20-30 Frames.
Hitting F5 ingame shows the Effects as Pink/WhiteColor which means Bad Performance.

So i actually feel like its not really possible to use a few particles and post process effects into my scene.
Any Chance to get better performance here?

This really sucks :frowning:

Thanks!

It’s not just particles themselves that affect performance, it’s also how it affects the rendered image. So if you take a particle system and make it really big where it covers a lot of the screen then that means that it’s rendering a lot of transparent materials which is bad for performance.

It also depends on your hardware. Also, the vast majority of monitors only display 60hz so it doesn’t matter if it drops from 120 to 90 since you can only display 60 anyway.

Hm…i understand. Well im using a 1080 GTX with 16 GB of Ram and a i7 CPU on a G-Sync Screen.
Well, is there a workaround to make it better for the performance?Especially for the Background Clouds?
When i duplicate the Particle Effect, it shrinks it even more. I think that every particle effect eats about 15-30 FPS. So with about 2-4 Particles in the scene im no longer able to play the game.

I mean youre right with the 60 FPS, but there are always people who want to play games with much Frames and users like me who have a G-Sync Screen. I can clearly see a difference between 120 FPS and 60 FPS and its a no go :frowning:

Typically particle systems are not used for background clouds because the sky tends to take up lots of screen pixels and it helps to make it very cheap. At most we will use single cards with cloud textures and do some UV distortion to animate them. Generally we save ‘white hot shader complexity’ for in game FX. you need to leave room for those kinds of things which is why the sky should b cheap.

Of course if clouds are a major part of your game you can divide the rendering time however you see fit, just describing what we would normally do.

Hey thanks both of you for your answer.
So im really in the need of a animated cloud/nebula background for my game. And now im not sure how to make it. Single Card means a Plane with a animated Material on it?
Thanks! :slight_smile:

There are tons of different techniques you can try to get more optimized but still interesting clouds that have movement.

  1. Flowmaps on a skybox. Paragon guys are messing with this and it has been done in other games. You should be able to look at the FlowMap material function. This just basically gives the sky some subtle warping flow.

  2. You can use static cards with flowmaps or just simple UV distortion to give them a bit of life. To use distortion you just need to make a normal map of some really blurry noise, pan that and add it to the UVs before hooking to the main cloud texture. Make sure you multiply by a scalar parameter to give control to tweak and start with small values like 0.02.

  3. If you want to try to place cards and have them look realistically lit, you can try a new material function in 4.14 called RayMarchHeightMap. This blog post has more info on that: http://shaderbits.com/blog/ray-marched-heightmaps

Cool Thanks for your Answer. Will try to build something with the Help of your answer :slight_smile:

And to come back to the Post Process: Well, im using a Post Process Effect which is enabled when the Player Energy is low, and is disabled when the Player Energy is above 25. Its a Low Energy Alarm.
In Fact its a Material, not a Particle Effect. So why the FPS shrinks here? The Input Textures are all 256x256 or lower.

Impossible to say without seeing the material. It all about the number of instructions and textures your post process material is using. Post process materials cover the whole screen so their pixel shader cost can be high.

Thanks Ryan, youre awesome! :slight_smile: