Performance issues with multiple tilesets

Looking for some help on the best way to organize a large data set.

We have a vary large lidar dataset, covering a city. Currently, it’s been carved into 1km grids and processed into 3D tiles with Skyline software. The result is roughly 400 adjoining 3D tilesets, each a few GB in size.

They’re loaded as individual Cesium3DTileset’s in our app. We’re finding performance is extremely slow when zooming to an area and waiting for the full detail to load. Loads and loads of requests to tileset.json files and a lot of 3D tile (b3dm) requests with each redraw.

Obviously this is a bad way to organize things. But what is the best way, and how much difference can we expect it to make?

Option 1 - leave things as they are

Option 2 - Create external top level tilesets pointing to each of our 400 grid items (does this just push the problem down one layer)

Option 3 - Redo the entire process in Skyline, but have it create one large tileset instead of the individual 400

Any advice?
Thanks!