Performance Question

Good afternoon all,

I am animating the grave/memorial locations of all British Commonwealth soldiers on the Western Front during World War I. I have a 90,000 plus data points and have been using the Point property in CZML (some code is attached below). To shorten a short story: performance trouble.

The first couple months display fine. But even after I pare my data down to 35,000 points, subsequent data points simply stop appearing for the duration. I’ll note that the Cesium Viewer clock continues to run smoothly throughout. I assume this is because I am asking for too much too quickly.

Below is the format for the CZML. The remaining code is simply the data point format repeated ad nauseam. The 35,000 data points range in size Any obvious culprits or recommendations? Many thanks in advance, erik

[

{

“id”:“document”,

“name”:“Commonwealth War Graves”,

“version”:“1.0”,

“clock”:{

“interval”:“1914-08-01T00:00:00Z/1918-11-18T23:59:59Z”,

“currentTime”:“1914-08-21T00:00:00Z”,

“multiplier”:200000,

“range”:“LOOP_STOP”,

“step”:“SYSTEM_CLOCK_MULTIPLIER”

}

},

{
“id”:“HAUTRAGE MILITARY CEMETERY”,
“availability”:“1914-08-23T00:00:00Z/1914-08-26T23:59:59Z”,
“point”:{
“color”:{
“rgba”:[
200,25,15,255
]
},
“pixelSize”:{
“interval”:“1914-08-23T00:00:00Z/1914-08-26T23:59:59Z”,
“number”:[
“1914-08-23T00:00:00Z”,19.7484176581315,
“1914-08-26T23:59:59Z”,0
]
}
},
“position”:{
“cartographicDegrees”:[
3.78334,50.4728,0
]
}
},

{
“id”:“ASSEVENT FRENCH NATIONAL CEMETERY”,
“availability”:“1914-08-23T00:00:00Z/1914-08-26T23:59:59Z”,
“point”:{
“color”:{
“rgba”:[
200,25,15,255
]
},
“pixelSize”:{
“interval”:“1914-08-23T00:00:00Z/1914-08-26T23:59:59Z”,
“number”:[
“1914-08-23T00:00:00Z”,4.89897948556636,
“1914-08-26T23:59:59Z”,0
]
}
},
“position”:{
“cartographicDegrees”:[
4.01832,50.29187,0
]
}
}
];

Sounds like an awesome app, we’d love to link to it from our demo page when you feel it’s ready to share. I can’t say for sure without the full data set, but pixelSize might actually be where the slow-down occurs. Points are currently generated dynamically via the canvas and using a sampled pixelSize could lead to us constantly redrawing the canvas. If that is the case, it’s definitely a fixable problem on our end. As a test, can you try a constant pixel size and see how that affects things?

Finally, would it be possible to zip up and share the CZML file? If you don’t want to share it publicly, you can email it to me at matt.amato@gmail.com. That’s the best way I can help debug the performance issues (and fix them in Cesium).

Thanks

Matt,

I have attached another version of the file I just sent.

In …versionB.html I have made each point visible for 24hrs and gave it a fixed whole-number value. The file size decreased from 12MB to 7MB. However I still see the same behavior referred to before. If I excerpt a month (say July 1916 which was particularly active), things seem to work as I hope. But not the entire file put together.

Best, erik

CommonwealthWarGraves10-1-14version2.html.zip (417 KB)