Is there a practical upper bound for baseScreenSpaceError in CesiumJS?

I would like to confirm whether baseScreenSpaceError has any practical or recommended upper bound. The documentation mainly discusses its lower bound, but it does not clearly state whether a maximum limit is necessary.

Questions:

  1. Does CesiumJS internally apply any hard cap or clamp on baseScreenSpaceError, or is it effectively unbounded?

  2. Is there a practical ceiling (e.g., a value beyond which further increases no longer reduce refinement or may cause unintended behavior)?

  3. Should baseScreenSpaceError be considered relative to scene/tileset characteristics (such as root/per-tile geometric error, screen DPI, or typical camera distances), or to other parameters like maximumScreenSpaceError or dynamicScreenSpaceErrorFactor?

  4. Are there any known side effects of using very large values (e.g., skipping too much detail, z-fighting, popping, or numerical instability)?

Minimal code snippet (for context):

const tileset = await Cesium.Cesium3DTileset.fromUrl(".../tileset.json", {
  baseScreenSpaceError: 10000.0
});
viewer.scene.primitives.add(tileset);

Hi @wl_z ,

Thanks for your questions.

To make sure we are on the same page, baseScreenSpaceError is the screen space error that must be reached before skipping levels of detail. This setting is used in conjunction with other skip parameters.

  1. No hard cap
  2. A high baseScreenSpaceError means you are less likely to skip levels, which minimizes LOD behavior. This sandcastle Cesium Sandcastle shows the Cesium3DTilesInspector, under optimization, the “SSE before Skipping LOD” slider adjusts baseScreenSpaceError so you can experiment yourself as the results will be highly dependent on your data and other LOD related settings.
  3. Yes baseScreenSpaceError depends on you data - specifically the GeometricError in your tiles. GE is used along with other factors (primarily camera distance) to calculate the screenSpaceError.
  4. Skipping LOD can sometimes cause visual artifacts such as when the renderer displays a low-detail ancestor tile in a position where a higher-detail child tile should be. This is often called “LOD popping.”

Hope these resources and responses help to answer your questions. Please let us know if you have follow ups.

Thanks,
Luke