[mapserver-dev] RFC: GMaps API for mapserv

Steve Lime Steve.Lime at dnr.state.mn.us
Fri Apr 11 10:48:05 EDT 2008


I've not done any explicit performance testing with the PROCESSING option (note
that I only consulted on the implementation). It doesn't seem to add much overhead
though. I'm using the option with non-tiled apps and everything is still very snappy.
The process requires running through more coordinates than the post clipping but
that shouldn't cost too much. I can run some timings if you are interested.

Note that shields are protected by the label_cache_edge_buffer metadata since they
are typically implemented as annotation layers and as such the marker is considered
part of a label.

Steve

>>> On 4/11/2008 at 5:47 AM, in message <20080411104700.GB31967 at metacarta.com>,
Christopher Schmidt <crschmidt at metacarta.com> wrote:
> On Thu, Apr 10, 2008 at 09:48:27PM -0700, Paul Ramsey wrote:
>> * If PARTIALS is not set in labeling directives, it will be turned on 
> automatically.
> 
> This *only* makes sense with the PROCESSING=DONT_CLIP_ME_BABY or
> whatever the option is: 'partials true' will only cause problems if you
> turn it on without this. (PARTIALS defaults to TRUE: The processing
> option does not.)
> 
> Is there a significant performance cost to the PROCESSING option?
> 
> I'm almost wanting to say that rather than do thsi (if it's not goign to
> incldue the next step in this phase) it would be better to explicitly
> set it to off. The reason is that any 'annotation' or point layers are
> *not* going to be properly labeled across tiles with PARTIALS TRUE
> without extra data being requested (I don't think?) because the data
> that they're in will not be included in the spatial data requested from
> the database. That is:
> 
> 
>       ----------
>       |        |
>    *  |        |  
> Chicag|o       | 
>       |        |
>       ----------
> 
> The point here will not be rendered in the right hand tile, so the label
> will be missing an 'o'.
> 
> If we turn partials *off*, then all these cases 'go away' (at the cost
> of fewer labels per tile in total.)
> 
> My suggestion is to actually reverse the state of the proposal: set
> PARTIALS FALSE by default, and in the future, when more 'metatile like'
> features are added, toss in PARTIALS TRUE and the PROCESSING option and
> maybe a shield_cache_edge_buffer -5 metadata (to protect shields:
> doesn't exist yet, same vein as label_cache_edge_buffer).
> 
> In the meantime, 'partials off' is likely to give you a better
> experience (fewer clipped labels) in my experience, with the net result
> being fewer labels in total... but usually in a way that works out for
> the best in the end.
> 
> I think this API is the better way to go, and I'm now more in favor of
> it.
> 
> I will also write OpenLayers documentation on how to pull these tiles
> in, and update the 'spherical mercator howto' mapserver section that I
> am currently maintaining for OpenLayers documentation purposes.
> 
> Regards,



More information about the mapserver-dev mailing list