1. A concise explanation of the problem you're experiencing.
Actually this is not about cesium totally in fact. But the part of it is. Let's say there are many data comes from web service. We create cesium objects from json data, then add these objects to the cesium. The problem has 2 parts, first one is converting objects from json to cesium primitives takes time (in fact our cesium objects has composite primitives and such things, they are a bit complex objects) and the second problem is adding xk number of objects to cesium at once also takes time, I guess also locking the ui thread. Once you add the objects, modifying the positions etc. doesn't require resource but at initial state, this causes ui thread to be locked.
I tryed web workers to parse the data but unfortunately sending and receiving objects with functions is not possible. So right the process works with asyncron function calls with setTimeout. But since the data is large, it locks the render thread anyways. My question is:
a- Is there a way to easy serialize json objects to cesium primitives beforehand? If there is a way to make the service data more processable at backend this can also work. Any suggestion is okay.
b- What is the optimum way to put let's say 40000 billboards to the map at once? If it is possible without doing it at once, it will be also okay. The problem is they should be @map before next service call result comes to client which gives only 1 second or such.
2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.
function main(){
console.log("hello workd");
}
main();
3. Context. Why do you need to do this? We might know a better way to accomplish your goal.
To be able to visualize the data movement. The agents move from here to there with limited time intervals. To be able to show their movement on the time, positions should be changed. Not only positions but also colors, icons, lines between icons etc. will be updated as well.
4. The Cesium version you're using, your operating system and browser.
Latest cesium version always. os is windows 7 - 10, linux ubuntu latest. Browser is chrome 70+, firefox 50+