Hi. I am using the UCesium3DTileset::SampleHeightMostDetailed function in Unreal Engine C++ to get the precise terrain height for an array of cartographic positions. While it works correctly, the Call-back function often takes a very long time to return which is causing a major bottleneck in my application. Even though I am not passing too many points to it. I am using blank 3d Tileset.
Any insight into the inner workings of this function and recommended solutions would be greatly appreciated. Best Regards.
The SampleHeightMostDetailed function requires traversal of the tileset, sometimes independent of the tiles that are being selected for rendering in view of the camera. It could help to know more about your specific setup and how you’re using SampleHeightMostDetailed. For instance,
What versions of Unreal Engine and Cesium for Unreal are you using?
How many points are you including in your SampleHeightMostDetailed call?
What tileset are you calling this function on?
We also have performance tests included in the plugin that might be worth trying out on your machine. You’ll need to enable the Functional Testing Editor plugin, then go to Tools > Test Automation. Then, under the Cesium category, check out the Performance > SampleHeightMostDetailed tests. I get these kinds of numbers on my machine, but if your tests run slower, the delay may be related to network or processing speed.
Hi. I am using Unreal Engine 5.4.4 and cesium 2.19.1. I am including around 120 points per call in SampleHeightMostDetailed. I have around 20-30 calls. I am using local hosted blank 3d Tileset in my setup.
This function is asynchronous, is it rely on main game thread to return the points? As I have noticed when game thread is busy it is then taking much time to return the height of the points.