|
From: Andrea A. <aa...@op...> - 2010-07-16 20:08:41
|
David Winslow ha scritto: > GeoServer only takes into account the current viewing area when > rendering. OpenLayers, by default, loads up a map by fetching lots of > 256x256 pixel tiles, rather than asking geoserver to render a lot of > area you've already fetched when you pan just a little bit. If you set > your OpenLayers or other map client to "untiled" mode, then you will > never see repeated labels. This will keep your browser from being able > to cache tiles and such, though, so expect a higher load on GeoServer as > a result. Err... I would disagree about the load. We had to make countless adjustements to GeoServer and the OL used in the preview to avoid tiled OL to kill GeoServer with an enormous load, and from a single client. This includes setting the buffer to 0 and using the control-flow to disallow the client to make 20-50 request in parallel (the browser will actually do "only" 6, but if you start zooming using the scroller they will pile up). Long story short, the client will seem less responsive when panning, but the load on the server will be a lot smaller afaik. Tiling has been created by Google with the usage of heavy tile caching, and in a way that precomputes statically all label positions taking into account that the requests that the client will ever made are just the predetermined tiles. Pretending to use tile caching against a dynamic WMS is, in my opinion, just plain wrong. As for labelling, unfortunately atm we don't have a function to precompute in a global way all the labels for a certain zoom level as a single enormous request. Imho Google does this with a massive map/reduce using a ton of resources, so if we'd like to replicate it we'd have to do the same. Cheers Andrea -- Andrea Aime OpenGeo - http://opengeo.org Expert service straight from the developers. |