ThinkGeo.com    |     Documentation    |     Premium Support

LayerOverlay Response Times

MapSuite Team,


My application uses a LayerOverlay to contain an InMemoryFeature Layer.  The layer is used to track features in real-time based on their GPS coordinates.  There are approximately 1000+ features being tracked with GPS updates coming in at the rate of 20+ per second with no let-up.


When first developed the only property that was set was LayerLockMode to Lock.  In order to attempt to improve the reponse time the setting of other properties was implemented.  When the additional properties were set the response time drastically increased when I had expected that response time would have been reduced.  With setting the additional properties the CPU spikes at 35-40% to update the position of just one feature.  When setting only one property the CPU spikes at 5-7%, which is still too high for updating just one feature.


The single property setting is:


LockLayerMode = LockLayerMode.Lock;


The property settings, which cause the 35-40% spike are:


LockLayerMode = LockLayerMode.DoNotLock;


TileBuffer = 1;


TileWidth = 256;


TileHeight = 256;


TileType = TileType.HybridTile;


TransitionEffect = TransitionEffect.Stretch;


 


What are your thoughts on these settings given my circumstances?


Thanks,


Dennis


 



Hi Dennis,  
  
 Thanks for your post, the reason for this phenomenon is “LockLayerMode = LockLayerMode.DoNotLock”, this will make drawing faster but with higher cpu usage. Another thing to notice is that please use Overlay.Refresh() when setting “LockLayerMode = LockLayerMode.DoNotLock”. 
  
 Hope it helps,  
  
 Johnny