Problem with the finding a random suitable MaxScreenspaceError value

Have you tried tiling your photogrammetry with Cesium ion? There’s a lot of things we do in the pipeline to compress and optimize it so it streams efficiently even on mobile devices without overloading system resources.

Depending on why it’s crashing, there’s a couple of things we could do to optimize it without losing quality. Texture compression would be a big one, which we’re working on adding to the Cesium ion pipeline (using the new Basis universal texture compression https://www.khronos.org/blog/google-and-binomial-contribute-basis-universal-texture-format-to-khronos-gltf-3d-transmission-open-standard).

Another thing you can try is lowering the maximum memory usage: https://cesiumjs.org/Cesium/Build/Documentation/Cesium3DTileset.html#maximumMemoryUsage

For your question about screen space error, the idea is how much error tolerance you went to set when viewing your data. So each tile has a fixed geometric error, but a tile that has a very high geometric error may still be accurate if it’s viewed from far enough away.

For example, a tile that has a geometric error of 10 (so it’s error is 10 meters from the highest resolution), may be an accurate representation if it covers less than 10 meters in the view (so the error is impossible to see). Tweaking the screen space error allows you to tweak how much of this tolerance is allowed. So a lower screen space error will force higher LODs in the tileset to load without having to zoom in as close.