How to optimize the loading of 3Dtiles to increase frame rates

When I rotate the perspective, it seems that this 3Dtile will be removed. If I rotate the perspective, it will be reloaded, and at this time, I will have obvious frame drops. If I don’t move my perspective, it will have 90fps+, but when I understand the perspective, it will only have 40fps。even if I turn off Enable Frustum Culling

Hi @junhao_zhuge,

Thank you for the writeup. Turning off Enable Frustum Culling should prevent tiles from unloading when they’re outside of the camera frustum, so I’m not sure what could be going on.

Could you share some more information with us? In particular, we’d like to know:

  1. What datasets are you using in the scene? Are you using Cesium World Terrain? Google Photorealistic 3D Tiles? Something else?
  2. Could you share a screenshot of your Cesium3DTileset’s settings? In particular, anything related to the Tile Loading and Tile Culling will be helpful info.

We can try to troubleshoot from there. Thank you!

I use Cesium World Terrain for my geography datasets, and these are my Cesium3DTileset’s settings. Thanks a lot!

Hi @junhao_zhuge,
According to your screenshot, you’re using a local tileset of some sort, not Cesium World Terrain.

If you want the set of tiles loaded to stay exactly the same regardless of orientation, tick the “Enforce Culled Screen Space Error” box and set “Culled Screen Space Error” to the same value as the “Maximum Screen Space Error” property (16.0 by default).




Now I have tried all three components and they can load OSGB, but the Cesium World Terrain you just mentioned is a bit blurry; (they are only set by default now);
My current hope is clear and smooth loading; The most serious problem now is that when the field of view moves, there will be very severe frame starvation.
Thank you very much for your reply! :rose:

I’m pretty sure the tileset shown in your last screenshot is not actually Cesium World Terrain, even though that’s what it says in the Outliner (keep in mind that’s only a name). The reason I’m confident in that is because Cesium World Terrain does not have any buildings (it’s a terrain surface only), and there are buildings clearly visible in your screenshot. It looks like you may have some raster overlay draped over the top of whatever it is, too.

It’s hard to help without being able to understand clearly what you’ve set up. Sharing screenshots of the configuration of all the tilesets in your level would help a lot.

Hi, and thank you for your patience with my questions!

In my setup, I’m using two instances of Cesium World Terrain in Unreal Engine: one for loading the basic map terrain and another for adding tilt and enhancing visual detail. I hope this helps clarify what I’m trying to achieve with these components.

Thank you very much for your help, and I apologize if my English is not very fluent. I really appreciate your support and guidance!

ok, thanks @junhao_zhuge, that’s very interesting, but it doesn’t really do much to help me help you. Using two copies of Cesium World Terrain is going to hit performance fairly hard, for sure, and without understanding how you’re using the two copies to create that 3D effect, I can’t really guess what kind of new performance problems it might introduce.

If you can reproduce the problem in a more controlled scenario - such as in the Cesium for Unreal Samples project - we’re a lot more likely to have some advice. But at the moment, all I can really say is:

  1. We don’t usually see massive frame rate drops like the ones you described when moving the camera. I don’t know what might be causing it in your case.
  2. When there are frame rate problems, there’s not usually any “silver bullet” answer for it. It usually comes down to the complexity of the tileset, and sometimes the system it’s running on being underpowered for the job.
  3. Sometimes we do see users make changes to settings, materials, etc. that have a surprising impact on performance. I can’t tell whether that might be happening in your case.
  4. We improve performance in every release, so it’s well worth making sure you’re on the latest version of Cesium for Unreal.