Texture loading optimization for buildings?

Wow thank you @Nithin_Pranesh for sharing these very interesting implementation details. Here are more details on my experimentations.

  • I use Cesium Ion to generate 3dtiles, so LOD should be properly generated.
  • With no buildings, all is running fine at max FPS.
  • With 500k untextured buildings, all is running fine at max FPS.
  • Here is a video capture of an experimentation with terrain + ocean + 58k buildings (3060 TI, 64 GB RAM). With textured buildings (which are just basic cubes using a pool of ~10 different low quality facade textures), as soon as the game is launched (in editor), I got the “texture streaming pool over budget” warning. The ocean disappear, and each camera move show a temporary drop in FPS from 60-80 to 5-10 as 3dtiles load/unload.
  • 58k buildings (Ion ID #1382946 if you want to take a look) is just a sample as ideally I would like to render 500k buildings for my entire terrain (+ vegetation, roads, gaming logic, …).
  • I use a Maximum Screen Space Error of 32-48px.
  • I use r.Streaming.PoolSize=2000 (same with 4000 MB)

So from what I can see, I have two issues with buildings: 1. GPU memory usage and 2. drastic FPS drop on tiles load/unload

I really hope that I did not yet reach the limits of Cesium for Unreal but as your ambition is to simulate the whole planet, I am pretty confident that there is some room for improvements for my small terrain of 60x60km.

I appreciate your help very much!