= !MapGuide RFC 52 - Remove GD Renderer = This page contains an change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||1.0|| ||Submission Date||July 16, 2008|| ||Last Modified||Walt Welton-Lair [[Timestamp]]|| ||Author||Walt Welton-Lair|| ||RFC Status||draft|| ||Implementation Status||pending|| ||Proposed Milestone||2.1|| ||Assigned PSC guide(s)||(when determined)|| ||'''Voting History'''|| || ||+1|| || ||+0|| || ||-0|| || ||-1|| || ||no vote|| || == Overview == !MapGuide currently has two image-based renderers: GD and AGG. AGG was added in Fall 2008 with [wiki:MapGuideRfc32 MapGuide RFC 40], and is now the preferred image renderer. There is no good reason to continue supporting the GD renderer. == Motivation == The GD renderer was !MapGuide's initial image-based renderer. While it did a good job, the AGG renderer now provides superior image quality, especially when it comes to anti-aliasing. The AGG renderer is now also mature in terms of stability and performance - it currently has no open issues. For this reason AGG is configured as !MapGuide's default image-based renderer. One of GD renderer's biggest issues is that it doesn't provide full support for the new stylization ([wiki:MapGuideRfc32 MapGuide RFC 14]). In particular it does not support clipped area styles. While support for this could be added, it seems like a waste of time given that AGG already fully supports the new stylization ''and'' provides better image quality. A recent RFC around raster reprojection ([wiki:MapGuideRfc32 MapGuide RFC 51]) also raised the issue as to whether GD renderer would need to be updated. From a SWD point-of-view it's clearly more work to support both AGG and GD renderer. AGG is the renderer we are pushing going forward, and SWD effort should be spent improving it and not GD. == Proposed Solution == Removing GD renderer will be simple. It involves deleting a couple of source files in the Renderers project, and removing support for the "Renderer" setting under "!GeneralProperties" in the serverconfig.ini file. Note that we can't remove the GD library from the Oem area, since AGG renderer still uses it for read/write support of JPG/GIF/PNG8 images. == Implications == After this change, any !MapGuide server which was configured to render using GD will now only render using AGG. This will have a slight impact on partial tile sets which were generated using GD. If the server is updated and the tile sets are migrated, then the existing tiles will continue to be served up, while any new tiles which are generated will be done using the AGG renderer. This will cause slight discrepancies at boundaries which have a GD tile on one side and an AGG tile on the other. The workaround is to regenerate the tile set using AGG. == Test Plan == The code that will be updated to remove support for the "Renderer" serverconfig.ini setting will be tested. No changes / additions to unit tests will be necessary. == Funding/Resources == Provided by Autodesk.