Frame Rate Drop with Multiple Entities

I'm seeing significant frame rate drops (down to 10-15 fps) with increasing numbers of entities (each entity is a gltf model). There are currently ~80 entities in the visualization. Cesium is taking in a single CZML - 8 megabytes of position/orientation/availability data for all of the entities. Is this a generally known problem or am I likely doing something especially inefficiently?

This is occurring on Cesium 1.46 on Chrome/Windows 7.

This is to model a number of moving components in a system. Each object is currently its own entity/gltf model. I'm also looking at an articulated gltf to get the same effect, but that's a lot of extra legwork that I'd like to avoid if possible.

Hi there,

Generally, it can be slow to load a large amount of data because of restrictions of the browser. The following quote from this thread was on KML, not CZML, but is still applicable:

The nature of JavaScript and the way browsers work is also a large part of the problem. First, JavaScript is simply slower than native languages, processing KML in the browser is never going to be as fast as processing in Google Earth, which is written in C++ but in time we may get close. Second, browsers enforce artificial memory limitations on individual web pages. While Google Earth is free to use as much memory as the operating system allows, web pages are usually only allowed between 800 and 1600 megs of RAM (but it depends on the browser). Third, JavaScript itself uses more memory to store the same amount of data compared to C++, so memory usage in a web app is naturally higher.

Normally I would say use 3D Tiles or primitives instead of entities, but your data sounds like it is based heavily on time, so those solutions may not be applicable. It may be worth it to combine these into one gltf file.