Home | Products | Issue Tracker | FAQ | Download | |
Date: | 2013/06 |
---|---|
Author: | Thomas Bonfort |
Contact: | thomas.bonfort@gmail.com |
Status: | Adopted |
Version: | MapServer 7.0 |
Keeping support for the GD rendering library is preventing MapServer from moving onto a more feature-full and maintainable text/labeling pipeline. This RFC proposes that we remove support for the GD renderer in the upcoming 7.0 release, unless there are some use-cases only covered by GD that have been overlooked, and/or someone is sufficiently interested to fund the high maintenance overhead.
In the process of supporting advanced text/label rendering implied by the overhaul of MS RFC 98: Label/Text Rendering Overhaul, the limitations of the GD api have shown to be a showstopper for moving forwards. Keeping support for GD would require either maintaining the current text rendering pipeline alongside the new one (at the cost of maintenance nightmares), or a non-trivial overhead to fit in with the MS RFC 98: Label/Text Rendering Overhaul proposed architecture (while still not being able to support complex text shaping).
As a vector rasterizer, while being marginally faster, the GD rendering quality is far from what is expected from a map renderer.
GD image buffers have a lower memory overhead, given they work with 8bit pixels instead of 32bit ones.
GD support rendering without anti-aliasing - good for vector area fills (avoids thin lines along the “tile” boundaries).
Aside from preventing MS RFC 98: Label/Text Rendering Overhaul to happen, support for GD is already himpering development due to the overhead required during maintenance and renderering enhancements. Current activity on the issue tracker and mailing lists show that it is not being used actively. The major 7.0 release is a good time to remove GD support entirely, enabling us to move onto a maintainable and extensible text rendering pipeline, and allowing us to greatly simplify future maintenance.
Passed with +1 from ThomasB, TomK, MikeS, StephanM, SteveW, PerryN, DanielM and JeffM
No specific issue was created for this RFC. Development was tracked inside MS RFC 98: Label/Text Rendering Overhaul