Scale Dependent Rendering Partially Works in the 100.2.1 Sdk

Discussion created by reedhtr on Jul 10, 2018
Latest reply on Jul 23, 2018 by reedhtr

I'm posting this issue on Geonet to document for other developers an issue I raised with Esri staff at the 2018 developer summit. Once I confirm a fix to this problem using some future release of the ArcGIS Runtime SDK for iOS, I will update this note to reflect the fix.



Map rendering performance for the 100.2.1 ArcGIS Runtime SDK for iOS is slowed by map layers that are not visible due to scale dependent rendering.



The idea of scale dependent rendering is to keep map performance fast by turning off data dense layers once you zoom out past a certain threshold. The map designer tunes the scale at which the layer turns off, possibly adding a more generalized replacement layer if needed to turn on in its place. Once the computer is liberated from reading too many rows of data, it can instead finish the map render and be ready for the next pan or zoom.


I used this with a 867,784 point 1/100th milepost layer across all of Washington State. This renders only when zoomed in to 1:2000 or closer, turning off/on appropriately depending on the scale. This portion of scale dependent rendering works at the 100.2.1 SDK.  Map render performance however is still impacted by this layer even when it is not displayed. My app's initial state wide map at scale 1:8,000,000 went from around 3 seconds to render at the 10.2.5 version of the ArcGIS Runtime SDK for iOS to instead vary somewhere between 15 and 30 seconds on the 100.2.1 version SDK.


When I rewrote my code to exclude this layer from the map, leaving it sitting unused in my mmpk data source file, the performance at the 100.2.1 Sdk returned to around 3 seconds.  Unfortunately I depend on this layer for a zoom to milepost tool my users require, so this blocks us from deploying a 100.2.1 migrated app to production.