Re: Problem with the finding a random suitable MaxScreenspaceError value

56 views
Skip to first unread message
Message has been deleted

Omar Shehata

unread,
Sep 20, 2019, 10:23:08 AM9/20/19
to cesium-dev
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.

On Friday, September 20, 2019 at 1:45:31 AM UTC-4, saada...@zameen.com wrote:
I am using Cesium for photogrammetry 3D tiles, The 3D tiles are generated using Pix4D software. 
I have setup everything, and are in functional condition. The problem I am facing is with the optimisation. 
Application crashes on almost every phone (ios, android) And the reason I think is with the maxScreenSpaceError
value. I think the high quality tiles are loaded at once even on high camera height. I have tried to set multiple 
values but couldn't find any optimal results. 

As every tile level has its own geometric error, which is the only metric to discriminate different levels of tile (as far as i know), then
1) Why we have an extra maxScreenSpaceError parameter for loading the different level tiles? 
2) What should i do right now to optimise the application for mobile devices without compromising on the quality of model? 


var tileset = new Cesium.Cesium3DTileset({
url: tilesObject.url,
maximumScreenSpaceError: 50,
maximumNumberOfLoadedTiles: 1000,
});


Cesium version 1.58, Tried on Chrome, Safari 
Application crashes and page is reloaded Automatically.



Reply all
Reply to author
Forward
0 new messages