Performance hit with multiple orbits in Firefox

Is anyone experiencing a huge performance hit when rendering multiple satellite orbits via CZML data source in Firefox?

This is the implementation:

  1. Browser: Chrome and Firefox
  2. I have a CZML/json file that describes a satellite (point) object that contains cartesianVelocity positions
  3. I load each file into a CZML data source, one for each satellite
  4. I turn on orbit by sending CZML data to make visible each of the satellite’s path
    When I’m just rendering the points (representing satellites), there is no lag (Chrome/Firefox). When I turn on orbits in Firefox, the map is essentially unusable as panning/zooming/rotating has a ~7 seconds delay. I would like to get the same performance in Firefox as in Chrome, or figure out if there is another approach to making Firefox usability comparable.

http://science.nasa.gov/iSat/ – This is something similar but only 1 orbit is displayed.

In addition to the first question:

  1. Would having multiple CZML datasources affect performance? Is it necessary to have one CZML datasource per satellite?
  2. Are there any performance tweaks that can be done on the Viewer, Scene? Tried scene3DOnly to true to avoid any 2D rendering but performance with orbits on is still bad.
    Thank you.

I’m not seeing any problem in Firefox 32.03 when loading two (2) CZML files representing satellites with 3 days of position data. Each file is in its own data source and shows path for the entire 3 days of data (lead and trail).

If you turn the paths on in the CZML files, is the performance the same as when you send the CZML to make the paths visible?

How’s the performance with one satellite? How many satellites are you drawing?

Scott

I appreciate the response and effort, thank you.

Performance with 1 satellite is great. I don’t have specific metrics but the map is usable with multiple satellites, 1 orbit showing. Satellite data has 30s number of satellites but our javascript picks and chooses to only show between 1-15 satellites.

I am testing with Firefox v24.x and v31.x. Rendering all 30+ satellites without orbits in Firefox has no problems. The performance hit occurs when multiple orbits/paths are set to visible. Setting the path to visible in the initial CZML file to load results in the same performance hit. Seems like the Firefox version may have some performance impacts; I’m not familiar with the difference in Firefox versions.

There is a significant improvement in performance when the path.resolution is set to a very large number to reduce interpolation (this is my understanding from the CZML Content page). With this property set to 10000000.0, rendering up to 6 orbits is ok; problematic when going over 6 satellites and their orbits. With interpolation reduced in Cesium, the path is not as smooth but that is expected. Is there a way to completely turn off interpolation of paths?

The CZML file for each satellite does not define any path.leadTime and path.trailTime elements. The position seem to be enough to render an accurate orbit for each satellite. Would not having the lead/trailTime affect performance?

One mitigation thought would be get the position elements and draw them as point/lines/polylines. Does anyone have any inputs on this approach?