[mapserver-dev] Motion: hatch rendering performance

thomas bonfort thomas.bonfort at gmail.com
Fri Apr 15 11:45:26 EDT 2011


Yes, that would be the clipping code used only for hatching. The
clipping code for clipping features to the current window are not
affected.

--
thomas

On Fri, Apr 15, 2011 at 17:42, Lime, Steve D (DNR)
<steve.lime at state.mn.us> wrote:
> By upstream version (4.2) that's of the clipper code I assume. Your proposal
> is to use not use the clipper software library at all then, correct?
>
> Sounds like the only reasonable course of action. +1 assuming appropriate
> Documentation. If AGG works then that's probably sufficient for most folks.
>
> What about the clipping code in mapprimitive.c?
>
> Steve
>
> -----Original Message-----
> From: mapserver-dev-bounces at lists.osgeo.org [mailto:mapserver-dev-bounces at lists.osgeo.org] On Behalf Of thomas bonfort
> Sent: Friday, April 15, 2011 10:34 AM
> To: Havard Tveite
> Cc: mapserver-dev at lists.osgeo.org
> Subject: [mapserver-dev] Motion: hatch rendering performance
>
> I can confirm there is a serious performance penalty with the clipper
> software library used for hatching, compared to the older agg version
> we were using in 5.x
>
> I can update the clipper code we are using to the newer upstream
> version (4.2) as it is providing a substantial speedup compared to the
> one we are using, but it is still very much slower than the 5.x
> timings we had, so much that I wonder if we should not disable it for
> now as it is heavy enough to cause a denial of service.
>
> Given that this is a blocker for 6.0, I move that we use the older agg
> clipping for the agg renderer, and temporarily disable HATCH symbol
> support for the other renderers until we find a viable alternative.
>
> I'll start with my +1
>
> --
> thomas
>
>
>
> On Mon, Mar 14, 2011 at 10:30, Havard Tveite <havard.tveite at umb.no> wrote:
>> I really like the new way of rendering hatches (all hatches
>> are aligned to a global origin).
>> But I have a performance problem with hatches in 6.0.0beta1.
>>
>> I have a WMS service, and the rendering time is very much
>> higher for 6.0.0beta1 than for version 5, and it scales badly
>> with image size.
>>
>> Example network response times for a 1000x1000 PNG image
>> (Firebug numbers):
>> 6beta1: 11.47s (931.1 KB)
>> 5.6.6: 1.84s (1.2 MB)
>>
>> Example network response times for a 2000x2000 PNG image:
>> 6beta1: 1min 49s (2.9 MB)
>> 5.6.6: 2.36s (4.3 MB)
>>
>> If I change from hatches to solid fill, the response time for
>> a 1000x1000 is reduced to 282ms (199.9 KB).
>>
>> My symbol definition is:
>> SYMBOL
>>  NAME "hatch"
>>  TYPE hatch
>> END
>>
>> An here is an example of my usage of the hatch symbol:
>> STYLE
>>  SYMBOL "hatch"
>>  WIDTH 1 # line thickness
>>  ANGLE 135 # hatch angle
>>  SIZE 5  # line density
>>  COLOR 153 0 255
>> END # style
>>
>>
>> Håvard Tveite
>>
>> On 3/10/2011 3:46 AM, Daniel Morissette wrote:
>>>
>>> The MapServer Team is pleased to announce the release of MapServer
>>> 6.0.0-beta1. This is the first beta on our way to a final 6.0 release.
>>>
>>> This new release introduces important changes in key components of the
>>> MapServer core (rendering, query and expressions), and for this reason
>>> we count on you, MapServer power users, to help test the release in your
>>> respective environments and provide feedback (through the users list or
>>> Trac tickets).
>>>
>>> The timing and feedback for this first beta is very important since it
>>> comes one week before the Montreal Code Sprint where about a dozen
>>> participants will be working specifically on MapServer and will have a
>>> chance to tackle important 6.0 issues that may be found and reported.
>>>
>>> Here is a quick list of RFCs documenting some of the new features or
>>> important changes in 6.0. This list is not complete, we will update it
>>> as we polish the release documentation:
>>>
>>> Core Changes in MapServer 6.0 which could affect existing applications:
>>>
>>> * MS RFC 54: Rendering Interface API
>>> * MS RFC 64: MapServer Expression Parser Overhaul
>>> * MS RFC 65: Single-pass Query Changes for 6.0
>>>
>>> New Features and Enhancements in MapServer 6.0:
>>>
>>> * MS RFC 58: Kml Output
>>> * MS RFC 60: Labeling enhancement: ability to skip ANGLE FOLLOW labels
>>> with too much character overlap
>>> * MS RFC 61: Enhance MapServer Feature Style Support
>>> * MS RFC 62: Support Additional WFS GetFeature Output Formats
>>> * MS RFC 63: Built-in OpenLayers map viewer
>>> * MS RFC 66: Better handling of temporary files
>>> * MS RFC 67: Enable/Disable Layers in OGC Web Services
>>> * MS RFC 68: Support for combining features from multiple layers
>>> * MS RFC 69: Support for clustering of features in point layers
>>>
>>> (RFCs are available online at http://mapserver.org/development/rfc/)
>>>
>>> As usual there an a large number of additional small enhancements and
>>> bug fixes. For a complete list see the HISTORY.TXT file at:
>>>
>>>
>>>  http://svn.osgeo.org/mapserver/tags/rel-6-0-0-beta1/mapserver/HISTORY.TXT
>>>
>>> We have started working on a 5.6 ->  6.0 migration guide. This document
>>> contains important notes on backwards incompatibilities or other changes
>>> required when upgrading to 6.0. It is not complete yet but we strongly
>>> recommend that you review the latest version online at:
>>>
>>>
>>> http://trac.osgeo.org/mapserver/browser/trunk/mapserver/MIGRATION_GUIDE.TXT
>>>
>>> The source for this release can be downloaded at:
>>>
>>>      http://mapserver.org/download.html
>>> or
>>>      http://download.osgeo.org/mapserver/mapserver-6.0.0-beta1.tar.gz
>>>
>>> The binary distributions listed in the download page should be updated
>>> with binaries for the new 6.0.0-beta1 release in the next day or so.
>>>
>>>
>>> This is the first of four planned beta releases and if all goes well a
>>> final release should occur around the end of April. The full release
>>> plan can be viewed at:
>>>
>>>    http://trac.osgeo.org/mapserver/wiki/60ReleasePlan
>>>
>>> Once again we need your help to ensure a high quality product,
>>> especially for this beta due to its timing with next week's Code Sprint,
>>> so please help out by testing your applications with this new code base.
>>>
>>> Thanks! - The MapServer Team
>>>
>>> _______________________________________________
>>> mapserver-dev mailing list
>>> mapserver-dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>>
>>
>> --
>> Håvard Tveite
>> Department of Mathematical Sciences and Technology, UMB
>> Drøbakveien 31, POBox 5003, N-1432 Ås, NORWAY
>> Phone: +47 64965483 Fax: +47 64965401 http://www.umb.no/imt/
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
>


More information about the mapserver-dev mailing list