Opened 17 years ago

Closed 17 years ago

#2084 closed defect (fixed)

non square pixels performance is very bad

Reported by: bartvde Owned by: frankw
Priority: normal Milestone:
Component: MapServer C Library Version:
Severity: normal Keywords: projections
Cc:

Description

Second email:

Bart,

Whew, that is a big slow down! It seems that the projection you are using is very expensive computationally, and it was being applied twice per point unecessarily so that the rescaling needed for non-square pixels could be applied.

I have applied a change in mapproject.c to short circuit this reprojection work that brings down the slow case to only about 50% more time than the fast case. If you can easily test with trunk or perhaps incorporate this change into the source you are building from that would be appreciated.

http://trac.osgeo.org/mapserver/changeset/6075

If it works well for you, I'd be inclined to incorporate this fix into MapServer 4.10.2 but I'll need a ticket in trac to reference.

Best regards,

Original email:

Bart van den Eijnden (OSGIS) wrote:

Hi list,

can one expect a performance drop of about 1000% for WMS images using non square pixels? That is at least what we are experiencing. Is this normal and to be expected?

Fast image: < 1 second: &bbox=0,300000,300000,600000&width=320&height=320

Slow image: 10 seconds: &bbox=0,300000,300000,625000&width=320&height=320

Bart,

When non-square pixels are used, MapServer switches from the optimized "let GDAL do all downsampling" logic to going through the general image reprojection logic for input imagery. That will be substantially slower, though I'm surprised that it would be 10 times slower.

If you can isolate a demonstration of this that I can reproduce, I might be able to figure out why it is so much slower.

Best regards,

Change History (1)

comment:1 by warmerdam, 17 years ago

Component: WMS ServerMapServer C Library
Keywords: projections added
Resolution: fixed
Status: newclosed

Bart,

I have backported the fix for this into branch-4-10 as r6088.

We should be good in trunk and the stable branch now.

Note: See TracTickets for help on using tickets.