loading multiple entities through CZML causing very poor rendering performance

Hi everyone,

I am working on an application to render multiple entities (i.e. average of 500). I am loading the entities from a CZML file. Each entity has an array of positions with thousands of position entries in it and I am interpolating the entity over these positions. This works fine for fewer entities i.e. 10 - 15 entities. My ultimate aim is to render ~500 entities but system is showing super poor performance with even 50 entities. Loading part is working good but the movement/interpolation of entities over their corresponding positions is deadly slow and lagging a lot. Any thoughts on how can I achieve high rendering performance?

Here is my CZML file:

[

{

“id”:“document”,

“name”:“test_document”,

“version”:“1.0”

},

{

“id”:“1”,

“name”:“Entity-1”,

“description”:“some info”,

“point”:{

"color":{

  "rgbaf":[

    1,0,1,1

  ]

},

"outlineColor":{

  "rgbaf":[

    0,0,0,1

  ]

},

"outlineWidth":2,

"pixelSize":4,

"show":true

},

“path”:{

"width":1,

"trailTime":7969,

"leadTime":0,

"show":false

},

“position”:{

"referenceFrame":"INERTIAL",

"epoch":"2016-06-30T00:00:00Z",

"cartesian":[

     thousands of positions....

]

}

},
{
// for entity 2
},
{
// for entity 50
}
]

``

This is how I am loading the CZML:

var promise = new Cesium.CzmlDataSource.load(‘data.czml’);
var _dataSource;

promise.then(function(dataSource) {
_dataSource = dataSource;

``

    viewer.dataSources.add(dataSource);

``

    //Get the array of entities
    var entities = _dataSource.entities.values;

for (let i = 0; i < entities.length; i++) {
	let entity = entities[i];

	entity.point.pixelSize = new Cesium.CallbackProperty(function(time,result){
		updatePointSize(entity.name, function(size){
			sizes[entity.name] = size;
		});
		return sizes[entity.name];
	}, false);
}

});

``

``

Any thoughts on how to improve the rendering performance? I am wishing to see a smooth simulation (interpolation) of points. This behavior is working well with fewer entities (i.e. with 10 - 15 points) but not for ~50 entities (points). And my ultimate hope is to achieve this smooth fast rendering (interpolation/simulation) for around ~500 entities (points).

Never mind!

Figured it out. It’s the “Path” in the data set with resolution=3 which was eating all the performance. Thanks to this: https://groups.google.com/d/msg/cesium-dev/hu_J2jqpLnI/bt7bIrAMBAAJ