Landscape Performance Tips for Mobile?

Currently, I am working on a landscape project targeting mobile. We want that to run smoothly(at-least 30FPS) even on budget mobile devices.
But, it’s really hard to find such tips on the internet or in the official docs.

Yes, most of the existing optimization stuff is working here. So, I did them & I also found LOD distribution helps a lot too.
Here’s my work so far:

I could reach up to 40FPS (without the material & gameplay). But I think that’s not enough since I need some room for materials & the gameplay logic.
My gut feeling is frustum culling is not working correctly or too expensive.

Because, when I look at the ground, it still gives the same amount of FPS.
But, when I look at the sky, it gives me something around 55 FPS.

So, is there any process to make it better?
I know, there should be some research/work on this area especially since Fortnite works well on mobile.

Looking forward know your ideas.
Thanks.

1 Like

Best option is to not use landscape.
In general, a custom mesh will far outperform it, and you can actually bake it in engine with the built in tools for world composition.

As with anything, the number of tris on screen is directly related to performance.
The way landscape works could be beneficial if the tris count at a distance was properly reduced - however how it is done in engine usually results in too many drawcalls.

For mobile, I use smaller tiles to generate the base and the HLOD system to render at a distance.

Overall, You want a base number of draw calls around 100 with just the landscape at a distance. The lower this number (less tiles, more consolidated hlod actors, etc) the better your performance.

As far as fortnite goes, it’s 1 map with 1 landscape. Not a tiled world, so there’s really little impact on performance/drawcall count. You just need to balance the number of tris of the base for it to run appropriately based on resolution.

What you have to look at when using the unperformant built in landscape is the number of components. More components = more drawcalls.
more drawcalls = less performance.

For instance. Any size terrain with 256x256 components will perform like trash.
The same size terrain with 8x8 components will perform OK.

the base size of the landscape can be directly related to the number of components, but thats where the resolution comes in.
up the resolution, half the tile count. This should result in an approximately similar size.

3 Likes

Thanks a lot for these ideas. I’ll try them out.

Do you know place to read/learn about above subject?

Not really, but you can look up any world composition impostor bake tutorial to see how to bake what you have down to a mesh.

I should mention, using quadtree or octree is the most performant way to set up a custom system you can change at runtime. Doubt this works good on mobile though.

Thanks. I’ll dig into level-streaming & related stuff.

can I get an update on this?

In relation to the newer engine?

They never updated a single thing. Instead, thry tried adding Nanite to make it work “better”.

In theory, it could, but this is Epic at the wheel… Until 2027 I wouldn’t expect a single pice of ue5 to work correctly.

Also the world partition bit got mangled pretty hard. As of latest forum posts folks are unable to run anything that’s bigger than 8 landscapes in size as I understand it.

Your best bet in 2025 is to work outside of the engine on your base project - possibly in a way you can entierly ditch the engine for something better as well.

Houdini works great for building stuff as it also ties into the landscape if you want it to.

Blender is also an option to build your base meshes and section things off.

Anything you build should be based on an analytical mesh, so the tris are present only where needed.

DCCs are just better at this. Nanite would do it (which is why it’s a good theory), but it doesn’t work very well yet.

Doesn’t really change your need for a better starting off point than what the landscape system has to offer either.

However when planning and choosing, size matters. Not all systems can handle a full area with trillions of tris in order to work.

If it wasn’t for the fact it got destroyed after the purchase, pixologic’s zbrush would likely have been the better/faster tool imho…

Today, houdini offers likely the best toolset inclusive of terrain carving simulations.