First render of GeoJsonDataSource takes very long time

I have a react app using webpack. The first render of GeoJsonDataSource takes a few minutes. The geojson only includes about 50 polylines. The following render is faster than the first render. Is there a way to make the first render faster?

Or instead of GeoJsonDataSource, is there any other API has better performance?

Here is my webpack setting:

new CopywebpackPlugin({
      patterns: [
          from: 'node_modules/cesium/Build/Cesium',
          to: 'cesium',
    new HtmlTagsPlugin({
      append: false,
      tags: ['cesium/Widgets/widgets.css', 'cesium/Cesium.js'],
    new webpack.DefinePlugin({
      CESIUM_BASE_URL: JSON.stringify('/cesium'),

Hi there,

A few minutes seems excessively long. Are you able to duplicate the issue in a standalone Sandcastle code example? If not, it may be an issue with the app configuration somehow.

Thanks for reply!

I can’t duplicate the issue in sandcastle.

In the Sources tab, I can see multiple cesiumWorkerBootstrapper.js are generated quickly in sandcastle. But it takes few minutes to have all the cesiumWorkerBootstrapper.js ready in our application. I can see the polylines displayed when cesiumWorkerBootstrapper.js finish getting all the files it need.

I think that may related to what is discussed here

Is there a way I can load the web workers before I load geojson, so I don’t need to wait for the initial loading the web workers?

Or should I use Primitive API as an alternative way to display geometries? Is there performance difference between GeoJsonDataSource and primitives.add?

Thanks for helping!


It’s possible this is related, but it would help to understand why cesiumWorkerBootstrapper.js loads so slowly in your configuration. That seems unusual.

Would you be able to provide detail about how you configure and deploy your application? A minimal example that I could use to reproduce the example would be a huge help.