Loading KML causes browser to hang... Ideas?

1. A concise explanation of the problem you’re experiencing.

When loading KML I have found that the browser will become unresponsive for a period of time. I was curious if there was a more performant way to load KML files. Presently, we are loading Blob objects. We essentially receive a Base64 encoded string from a service and then convert it to a Blob which gets passed to Cesium.

Looking for ideas on how to load KMLs and still keep the browser responsive. I’ve seen the hanging occur too while using the KML examples on Sandcastle…

4. The Cesium version you’re using, your operating system and browser.

Cesium 1.46

Chrome 64+

Hi Jason,

There is a detailed explanation in this thread that goes into the details of why Cesium may hang when loading large amounts of data. Ultimately though, the solution would be to convert your data to 3D Tiles, a format optimized for streaming in the browser.



Hi Gabby

Thanks for the information. Does the Cesium team provide an SDK (i.e., Java, JavaScript, etc) for generating 3d tiles programmatically on the fly?

For the KML use-case our users would be bringing KML files from other applications importing them in to visualize. Additionally, we also have real-time streams of data that we are hoping to visualize but would need to convert it to a Cesium appropriate format (i.e., CZML or perhaps 3d tiles)…

How does CZML compare in terms of performance to 3d tiles?

All of our conversions are currently done offline, but reach out to Tim with your use case and we see what might be most appropriate for your data.

CZML is similar to KML in that it’s trying to display all the geometry in the file for that given time, rather than breaking it up and showing only what’s relevant to the current view, so 3D Tiles would still be preferable.