[mapserver-dev] Re: Motion: hatch rendering performance

thomas bonfort thomas.bonfort at gmail.com
Tue Apr 19 01:31:37 EDT 2011


I opened bug http://trac.osgeo.org/mapserver/ticket/3846 for this.

The performance problem can be overcome by losing the stable hatching
algorithm (hatch lines joining at polygon boundaries), so I was
finally able to not drop hatch support for pdf,svg and gd.

The agg clipping algorithm is a bit faster than the polyclipper one,
so I've added a hatching prototype to the renderer api. The agg
renderer is the only one to implement it, the other renderers fall
back to the polyclipper wrapper.

As such, the motion is obsolete.

--
thomas

On Fri, Apr 15, 2011 at 17:34, thomas bonfort <thomas.bonfort at gmail.com> wrote:
> 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
>>
>


More information about the mapserver-dev mailing list