#3130 closed defect (wontfix)
ANGLE FOLLOW performance issue in Linux (not in MS4W)
Reported by: | clj2289 | Owned by: | sdlime |
---|---|---|---|
Priority: | normal | Milestone: | 5.6 release |
Component: | MapServer C Library | Version: | 5.4 |
Severity: | normal | Keywords: | |
Cc: | dmorissette, aboudreault, jmckenna |
Description (last modified by )
Using ANGLE FOLLOW on an annotation layer increases draw time for a layer by a factor of 3, but only on Linux. This was tested using shp2img command on the following version, 5.4.2, 5.4.1, 5.2.3, 5.0.0 and trunk (9/21/2009). The difference in performance can be see in the following log message comparing ANGLE FOLLOW and ANGLE AUTO. Attached you will find a test set and a profile of ANGLE FOLLOW and ANGLE AUTO.
Angle Follow:
[Mon Sep 21 02:01:50 2009].285986 msDrawMap(): Layer 0 (local road names), 0.129s [Mon Sep 21 02:01:55 2009].313465 msDrawMap(): Drawing Label Cache, 5.027s [Mon Sep 21 02:01:55 2009].313504 msDrawMap() total time: 5.158s [Mon Sep 21 02:01:55 2009].334529 msSaveImage() total time: 0.021s [Mon Sep 21 02:01:55 2009].334601 msFreeMap(): freeing map at 0x8114e08.
Angle Auto:
[Mon Sep 21 02:02:30 2009].164785 msDrawMap(): Layer 0 (local road names), 0.016s [Mon Sep 21 02:02:31 2009].757127 msDrawMap(): Drawing Label Cache, 1.592s [Mon Sep 21 02:02:31 2009].757163 msDrawMap() total time: 1.610s [Mon Sep 21 02:02:31 2009].780415 msSaveImage() total time: 0.023s [Mon Sep 21 02:02:31 2009].780487 msFreeMap(): freeing map at 0x86b1e08.
Attachments (7)
Change History (16)
by , 15 years ago
Attachment: | angle_auto.txt added |
---|
by , 15 years ago
Attachment: | angle_follow.txt added |
---|
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Cc: | added |
---|---|
Description: | modified (diff) |
Milestone: | → 5.6 release |
comment:3 by , 15 years ago
Cc: | added |
---|
comment:4 by , 15 years ago
comment:5 by , 15 years ago
More Windows testing:
- MapServer 5.2.1 (MS4W 2.3.1)
- ANGLE FOLLOW
- msDrawMap() total time: 1.646s
- ANGLE AUTO
- msDrawMap() total time: 2.154s
- MapServer 5.4.2 (MS4W 3.0 beta)
- ANGLE FOLLOW
- msDrawMap() total time: 3.949s
- ANGLE AUTO
- msDrawMap() total time: 1.829s
(images look similar..attached)
follow-up: 8 comment:6 by , 15 years ago
On Linux with MapServer 5.6-dev, here's the difference between GD and AGG (angle follow):
- GD: real 0m4.165s
- AGG: real 0m0.524s
I'll join the mapfile I used for agg tests.
comment:7 by , 15 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
After further investigation, I can conclude that the problem is related to GD with label outline color. Just by removing the OUTLINECOLOR 255 255 255 keyword of the label class in the mapfile, we can see a big performance improvement.
Thanks jmckenna and clj2289!
I close this ticket because there is already one for that bug. See that ticket for more info: http://trac.osgeo.org/mapserver/ticket/1243
comment:8 by , 15 years ago
Replying to aboudreault:
On Linux with MapServer 5.6-dev, here's the difference between GD and AGG (angle follow):
- GD: real 0m4.165s
- AGG: real 0m0.524s
I'll join the mapfile I used for agg tests.
This difference may be due to the outlinecolor in a label. GD has to use a brute force approach (offseting and redrawing text) while AGG strokes the background once. If you remove that option do the timings become closer?
Steve
comment:9 by , 15 years ago
I suppose that you didn't see my last comment. Yes the timing become closer as soon as I remove the outlinecolor.
Could not upload test set to trac b/c of file size limitations. Please download from http://c0342891.cdn.cloudfiles.rackspacecloud.com/test.tar.gz