Our team is working on optimizing our level as its huge (3x16km streaming levels) with the community ocena and a couple hundred static meshes that were 3k polys each but we added LOD’s so lod0 = 3k, 1 = 1.5k and 2 = 1k or so. However I notice no FPS gains and when exiting the player controller or zooming the camera out i dont notice them changing at least to my eye on 100%/epic settings.
Is there any console command or way in the statistics to see if LOD’s are being used over 100+ copies ofa single mesh in a level [particularily world compositioned streaming levels]
It’s not always going to simply be the LODs or complexity of a mesh that is causing the FPS to drop either. This is where profiling and optimizing based on the information you get there is most helpful.
Visibility and Occlusion culling are a big area to watch for performance issue in as well. Use Stat Initviews when in PIE/standalone game and check the counter for Visible Static Meshes. If this number is high you’ll want to reduce it. The best way to go about doing this is to setup some Cull Distance Volumes and set some values for sizes and distances to cull these small actors. This can free up some visibility checks that need to happen since they are no longer visible if they are at further distances or out of view. Occlusion Culling is can be expensive the more you have visible on the screen because each of these have to be checked by sending them to the GPU and then reading them back.
If you’re using dynamic lights using lower shadow casting distances can free up the performance hit from dynamic shadows.
A lot of this just comes back around to profiling and seeing what is taking the most time and trying to work it down from there.
Found out that LODs were infact working thanks for the link never knew that command existed exactly what I needed. Managed to get FPS into yellow, better than 17! Thanks for the great tips Tim!