Questions About Optimization

Hello , My team is working on a project that has to make some nice looking map to travel .
to do it , our map can’t be too small . but after putting some meshes into the world , the fps dropped under 60 .
and we saw lots of game that puts lot more meshes and still has 60+ fps .

so i’m very curious about whats the main problem that makes the fps fall ,

  1. how many Triangles is better for the meshes ? like a huge rock , is 3754 Tri and 11228 vertices too waste ? , if it go lower , the rock will look weird…
    i’m not really clear about how much Triangles is too much in a scene .

  2. is there any setting in the post process volume that i should use very carefully or turn off?

  3. for the textures , is 1024*1024 too high for the map?

  4. is there anything that i should take care of the material to save the performance? , like the reflect , or putting the roughness to 0 would be better?

  5. is 40k Triangles too much for each character (including the armors) for a 4-8 players game?

  6. is there any other nice method to optimize that i didn’t mention?

Thanks a lot for reading and answering these questions , Sincere appreciate .

I don’t think the poly count is a problem. Texture resolution should not really be a problem either…If it’s a big level are you using dynamic sun/sky or static? Dynamic will affect your performance the most I think.

Or it could be that you don’t use any LOD on your meshes.

Posting your specs would come in handy. It could just be that your PC is old.

And regarding the triangle count and texture resolution you have. Games go far above that nowadays.

thanks for answering!

yes i didn’t set any LOD myself for the meshes, only cull distance and auto LODs , and for the lights… i only use the importance light volume with the default skyligt .
btw ,is there a suggest for poly counts and texture resolution that will improve the performance ? or maybe its becuz the character’s blueprint contains too many nodes?

thanks for answering!

still wants to know the avg poly counts and texture resolution is better .
mu pc :
i7-2600k
16g ram
AMD R9 280

There is something very wrong with this mesh. You should never have a Tri to Vert count that is so lopsided like you have. Also 3754 is not a crazy amount of tris to render. Some shots in the Kite demo weight in at around 25 to 26 million triangles on screen at one time.

This is the rock i mention , can u tell me why its lopsided? cuz we aren’t pro with modeling too , so we got lots of questions , but no one to ask for D:

It is very hard to tell you what is going on from a picture but I know from experience that having an almost 3 to 1 vert to triangle count means you have a lot of stray or duplicate vertices in your model. However there are a number of things you can do to help clean this up in a modeling program like 3Ds Max or Maya. For example in 3Ds Max I would use the Vertex Killer script to hunt down stray vertices and get rid of them. Another thing you can do is select all the vertices and then weld them starting with a very low value and increasing it till you see the vertex count go down a bit. Try that and let us know if that helps out or not.

thanks for answering :smiley: , ill be more careful next time , but i still wanna ask , cuz the KITE demo’s avg FPS is only 20 for my PC , so maybe 25 to 26 million triangles on screen at one time is too much for most of the player . or the triangles really isn’t the thing i should beware of?

i’m afraid that the Tris is too much so we made low poly meshes that not really good looking , and thinking of decrease the texture resolution from 10241024 to 512512,
is it worth to do these change between performance and quality?

or theres something more important that i should do to optimize the performance?

thanks a lot and sorry for my bad english D:

I use 80 000 to 500 000 triangles objects in my scenes without much problem (and without LOD). Your performance problems could be more related to lighting maybe? Can you post pictures of your global level with and without wireframe view?

thanks! may i ask you that do you mean 80000 to 500 000 for each meshes , or in a screen? if its each meshes, then maybe Triangles aren’t the main issue , i’ll work more harder with the lights and blueprint optimization .

If you render in Epic settings, there’s a lot of stuff that slows down your framerate in Post Process, Shadows, and Effects (which includes costly Screen Space Reflections). Textures are more of a memory thing. You can simply lower the scalability settings to switch down to lower quality versions of these effects, and I believe remove portions of code from the rendering pipeline. Switching from High effects to Medium will remove the distortion effect, minimize the impact of Screen Space Reflections, resulting in a huge performance boost. And you get a bigger one still lowering the resolution.

It’s typically not just one thing causing your framerate to drop (unless you go nuts with translucent water and particle effects overdraw, then THAT’S your problem!). It’s the combination of high resolution, high graphics (from a multitude of factors), and high framerate that is impossible to maintain. On lower-powered hardware, you have to compromise somewhere.

For the record, the kite demo used 4096x4096 and 8192x8192 textures like a maniac. Just go a level below kite demo and you should be able to reach 60 fps.

Thanks for answering! , now i know much more about this engine , and ill focus more on the Lights / Cull / LOD / BluePrints / cache etc…
increase my mesh’s Triangles to let it look more better while not letting it too high , and keep using 1024*1024 textures for my materials .
thanks again , if i all of you didn’t answer me , im still making meshs that Triangles are less than 10k…

An R9 280 is comparable to a GTX 960, but with one big tradeoff: the pixel fillrate performs much worse than the texel rate. So drawing textures is no problem for the R9 280: go ahead and throw 4k textures at that thing. But pixel effects like post processing, dynamic lighting, and transparency won’t turn out so good.

I’m going to guesstimate that you can get over 1,500,000 polygons on your graphics card and still achieve 60 frames per second. Unfortunately, this rate goes down if you use vertex shaders, and the cost of draw calls for dividing up your polygon budget between so many different objects is quite hefty. Still, even if we halve this rate, that’s approximately 2-3 pixels per triangle. Basically, if your polygons are so small that you can’t even tell they’re there, then you can make a lower LOD mesh to keep things running smooth. You need to worry about your pixel budget for effects at high resolutions more than polygons.

It’s per object. But I have a GTX 980. Not all my meshes have that polycount tho.But a couple are models made for vray and aren’t optimized for unreal!

I’m not sure if this will help but a tool I use sometimes to get an indication of how performance-friendly your scene will be https://docs.unrealengine.com/latest/INT/Engine/UI/LevelEditor/Viewports/ViewModes/index.html#shadercomplexity