You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there,
The currently implemented tile refining strategies for Cesium3dTilesets seem to rely only on a depth-first approach as shown in the Cesium3DTilesetBaseTraversal class. Given a low maximumScreenSpaceError eg 1px, such a depth-first strategy results in a long time spent loading tiles deep into the hierarchy, eventually up to the leaf level - or the first level of the hierarchy whose geometricError matches the desired screenSpaceError - before going up one level, loading the siblings, and recursively going up in the tree etc.
It would make sense, for both tiled pointclouds and tiled meshes, to load tiles breadth-first. This would result in a faster loading of the rough overview of the tileset. We have some pnts tilesets for which tiles have a very small extent covered, and using a 1px error makes that tile loading children deep in the hierarchy before siblings very apparent. Note this is my interpretation of the issue and this could come from somewhere else. Reference thread from NASA-AMMOS/3DTilesRendererJS
EDIT: The priority metric used to sort between tiles to download and evaluate is actually way more complex than just depth-first vs breadth-first. At the moment, depthDigits are the last differentiating bits if all other properties between two tiles were equal among the below. Not exactly sure why it seems like in our case that really only the level in the hierarchy is used to load tiles, which result in that depth-first look.
Feature
Hi there,
The currently implemented tile refining strategies for
Cesium3dTilesets
seem to rely only on a depth-first approach as shown in the Cesium3DTilesetBaseTraversal class. Given a lowmaximumScreenSpaceError
eg 1px, such a depth-first strategy results in a long time spent loading tiles deep into the hierarchy, eventually up to the leaf level - or the first level of the hierarchy whose geometricError matches the desired screenSpaceError - before going up one level, loading the siblings, and recursively going up in the tree etc.It would make sense, for both tiled pointclouds and tiled meshes, to load tiles breadth-first. This would result in a faster loading of the rough overview of the tileset. We have some pnts tilesets for which tiles have a very small extent covered, and using a 1px error makes that
tile loading children deep in the hierarchy before siblings
very apparent. Note this is my interpretation of the issue and this could come from somewhere else. Reference thread from NASA-AMMOS/3DTilesRendererJSEDIT: The
priority
metric used to sort between tiles to download and evaluate is actually way more complex than just depth-first vs breadth-first. At the moment, depthDigits are the last differentiating bits if all other properties between two tiles were equal among the below. Not exactly sure why it seems like in our case that really only the level in the hierarchy is used to load tiles, which result in that depth-first look.cesium/packages/engine/Source/Scene/Cesium3DTile.js
Line 2271 in fbc056e
The text was updated successfully, but these errors were encountered: