Landscape/terrain performance getting pretty low fps?

It seems terrains in ue4 have a much bigger impact on fps than in other games

For example when I deleted everything in the landscape mountains example game except the landscape and changed the LOD distance factor from 1.5 to 10,
I still only get 50 fps with a 7970. Even in a blank project just creating a basic decent size terrain I go from 120 fps to 70-80 with no textures or materials.

A gtx 980 is only 50% better than my card which means I would still only get 75 fps with just a low lod’d landscape in the landscape example with the top of the line card…
And no I dont have anything selected, tried different engine versions, ran in both editor/standalone etc.

In games like battlefield 4, I get over 100 fps on highest graphics settings along with tons of meshs&polys&particles&players (and that game has really high quality high resolution huge terrains & background mountains)

What is making terrains in ue4 take up so much fps? Its disappointing because I wanted to get really good at world machine and have some nice environments but if I have a lot of other stuff going on it seems like the performance hit is just too great

Anyone else experiencing this and is it just a general performance issue with ue4 ?

Hmm, really strange… When I create a blank landscape with a size of 2017x2017 I get 120 fps with my GeForce GTX 660 Ti :smiley:

-make sure to use the “high performance” power setting
-what are your specs?
-make sure that you use the right gpu → e.g in my laptop I have a slow intel and a fast nvidia gpu
-where exactly do you get this fps rate? (standalone, viewport,…)


(after lightning build)

Well it seems the lighting is a big cause, I’m trying to keep everything in my project realtime and dynamically lit, no baking, when I press f2 to go to unlit view i go back up to over 100 fps in the landscape mountains example but when I go back into lit view it cuts it in half. I’m using a 7970 * 3770k

Rendering the light is a really big task for the GPU → that even happens when you build a level without a landscape. So when you open the landscape demo map with everything in it (meshes, particles,…) + a dynamic light setup (all lights to moveable) it’s normal that you just get around 50-60 fps :wink:

The Landscape Demo has an issue with the 980 actually (it might be related to your issue as well), I can only get ~20fps with my GTX 980 and others have reported the same. It’s not overloading the GPU, it just won’t allow the GPU to use it’s full power for some reason. Some areas I can get up to 90fps, but in the middle of the map around the frozen lake I struggle to get 20fps and my GPU usage is sitting at 15% (when I got 90fps my GPU was at 75% load…)

Here is my AnsweHub post with some more details on this:

I don’t have issues with Landscapes outside of that one project, but I haven’t tried using any other landscapes that were imported from World Machine, so I am not sure if it’s the landscape or what. I’ll let you know if I hear anything back from epic after they have completed the testing on their end. :slight_smile:

Is battlefield 4 all pre-baked? Does it use enlighten? Why do I get such high fps in that game with all the high res terrains polys particles & everything? Are you saying any game that uses ue4 without pre baking light will get such low fps?

Thanks It just seems like non baked lighting performance could be improved somehow

I’m have a 7850 and I get around 20-45 fps (depends where I’m looking, avg around 32) with 6 4k landscapes going (with LPV) while standing on a mountain.
Doesn’t really help you but I was pretty happy with how it worked on such an old card.

As a huge fan of BF4 (lvl 129) I’ve often thought along similar lines to yourself in regards to performance. BF4 is mostly pre-baked Enlighten based lighting however. It’s a really nice GI model, the best around, which is why it unfortunately costs >$250k to license. FB has several other state of the art systems in place, however UE is slowly but surely catching up I think. I suspect UE could improve the shader distribution on landscapes a great deal (4000 shaders??).

To get close to a FB type feature set we’d need: faster asset streaming, virtual texturing, optimized network replication to handle 68 concurrent players (note they couldn’t improve this for Battlefront, I don’t think this was a design choice), huge improvement to loading and streaming animations, improvements to initial particle placement for simulating skeletal destruction, baking nearly everything down to textures to reduce shader complexity etc etc.

The networked water can wait, this seems to kill the servers :smiley:

Anyway bottom line is the lighting is pretty much all prebaked in FB, albeit using some extra tricks. Ever wondered why Dawnbreaker doesn’t go further into the day?

Im a developer who uses landscape dynamic light with a complex 9 layer landscape. I can assure you if you do it right you will get alot more fps then 100 with your rig.

I can only think that you have some horrible errors in your material, cause normally the landscape is the last thing that gets “excited”.

Hi I have a 780ti and I’d like to agree with the post above that perhaps something is wrong with your material. It’s been a while since I’ve been on UE4 engine or game development in general, but I looked into my older versions of my landscape material. The past versions actually ran slower than the newer versions, which are more complex and larger than before. Fifteen landscape materials, displacement, Dynamic lightings, etc. Below is a screenshot of some bad materials on the landscape, however you will notice the features and the average of 95-105FPS. It’s a decent sized landscape as well, so something must be going wrong with your material.

You could better ■■■■■ the performance impact of stuff by using milliseconds instead of FPS.
Here is a article that talks about the two.
Point being: It may not be anywhere near as expensive as you think it is based on FPS.


Could you provide a couple screenshots of that landscape? BTW awesome job on the mountains!

can you make a tutorial on how it should be done would really help a lot thanks