Closed mdastous-bentley closed 1 year ago
@mdastous-bentley can you elaborate upon the "application crash"? Do you have a call stack? An exception? I followed your steps and it loaded 1226 tiles, 11 of which were determined to be "empty", and ultimately selected 22 for display. It did not crash.
Metrostation-Demo_Marjo_ESV.json.txt Try this ESV file (pick view1).
Also, I could not get it crashed, it will reach around 4GB of memory, and then viewer would remain blank/frozen. Design Review would completely crash the browser tab though.
@pmconne I still need assistance for fixing this issue. Even though the application doesn't crash consistently, tiles are missing.
You seem to know more about the problem than I do. What does the following mean?
when the current view scale does not match the scale of any available resolution.
The ArcGIS dataset contains its own tile tree definition, described by level of details (each one representing a view scale and resolution). Each time the view change, and tiles are missing, ArcGISMapLayerImageryProvider.loadTile
is called with quad id (row,column/zoomLevel).
In the current case, the ArcGIS dataset's tile tree is incomplete: zoom levels (or resolutions if you prefer) are missing. When it happens, iTwin.js "tiling system" will assume children of a missing tile, are also not available: this is not true. The provider has currently no way to inform the iTwin.js "tiling system" about it.
Can you link to somewhere in the provider's code where this information can be obtained?
Describe the bug Attaching a specific ArcGIS map-layer makes the application crash. This dataset tile tree contains tiles for LOD 15-19, which forces the display to load a large number of tiles when the view is zoomed out.
To Reproduce Steps to reproduce the behavior:
fdt attach arcgis maplayer https://services7.arcgis.com/nZ2Vb4CUwdo9AIiQ/arcgis/rest/services/iTwinImageTest1/MapServer PhillyCityLandmarks
Expected behavior The itwin.js application should not display any tiles when the current view scale does not match the scale of any available resolution. Ideally an API should be available for consumers (i.e UI) to provide feedback about a map-layer being out of range in the current viewport, otherwise end-user might assume there is a display issue. ESRI viewer implements something similar.
Desktop (please complete the applicable information):
Additional context Current behavior was introduced to fix the display of map-layers having a minimum LOD, otherwise, nothing would ever be shown (even though the view would be zoomed at a proper level). This works OK if view scale is not far away from the first available LOD. See Support minimum LOD for ESRI layers
Provider code: ArcGISMapLayerImageryProvider