How exactly are the rendering of OpenStreetMap tiles handled? Specifically, when using the OpenStreetMap data as the base layer for a map is there any CPU overhead incurred on the server as a result of processing the OpenStreetMap data, or is it purely client side? We have several static polygon layers that we are caching to help alleviate CPU stress on the server. We are trying to determine if caching the OSM layer will add to or decrease the CPU load on our production server. We definitely do not want to increase the CPU load on the server.
Also, is there any difference when the OpenStreetMap data is provided through an OpenStreetMapOverlay added to the Map’s CustomOverlayCollection vs an OpenStreetMapLayer stored in a LayerOverlay that is then added to the Map’s CustomOverlayCollection?
Questions Regarding Rendering OpenStreetMap Data
Hi Michael,
For rendering OpenStreetMap layer, there are two ways to render: One is using OpenStreetMapOverlay, this will correspond to a client side js layer in openlayers library to render and the client side will get the tiles directly from OSM service. The other way is using OpenStreetMapLayer and add it into layerOverlay, in this way, the tile request will be creating by our MapSuite OpenStreetMapLayer class in server side. For OpenStreetMapOverlay, it can’t support the cache as it happens on client side, but if using OpenStreetMapLayer, then we can cache them on the server side.
Comparing the two ways, the OpenStreetMapLayer will take more costs on CPU in the serve side, but if you add the caching support, this issue can be avoid.
For the difference between CustomOverlay and LayerOverlay, actually, they are no differences, for map instance, both of them are the same.
Please let us know if any questions.
Thanks,
Troy