Question #1. I get a pretty big hang when some tiles that have been uploaded to ion are being loaded in. Are these loaded in an async manner as to not block the game thread? Anything that can be done to avoid this?
Question #2. When transitioning from one point on earth, to another, I’d like to implement a “loading” screen of sorts as to avoid the visible “popin”. Is there a way for me to know when the appropriate tiles have finished loading?
Yes the tiles are requested and loaded asynchronously. Still there are often game-thread bottlenecks that cause frame-rate hiccups such as runtime texture and vertex data allocations. We also suspect that over-use of the Unreal task system (for our async tile loading) within a single frame may compete with Unreal tasks that must complete before the game thread renders, causing Unreal to wait on the game thread. This is somewhat mitigated by the rough throttling that we put on tile loading. We suspect the throttling could be smarter to make sure we don’t overload the task system.
If you have any specific things you’ve noticed from performance profiling or otherwise have performance suggestions we would love to hear them! @Kevin_Ring would have a better idea about performance details, feel free to add a comment here Kevin.
I think this would be possible if these values are exposed via getter functions:
Feel free to open a PR for this in Cesium for Unreal. Otherwise you can open an issue requesting such a change, and we can implement it when we get the bandwidth.
Let me know if you have any further questions!