GEOT-2073 fix intoduced severere performance degradation due to open SUN Bug ID:6568969 ----------------------------------------------------------------------------------------
Key: GEOT-2538 URL: http://jira.codehaus.org/browse/GEOT-2538 Project: GeoTools Issue Type: Bug Components: core render, core styling Environment: WinXP, java 1.6 Reporter: Per S Hustad Assignee: Andrea Aime Attachments: patch-stroke-bug.txt, StrokeBugDemo.java The Stroke fix for GEOT-2073 introduced in 2.5.2, may cause severe rendering degradation. This should be seen in conjunction with [SUN Bug ID:6568969|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6568969] reporting that drawing long dashed lines takes extremely long time. Drawing very long lines will typically happen when zooming far into a relatively large feature. Before the 2073 patch, plain solid SLD strokes were just converted to {{java.awt.BasicStroke}} using a {{null dash}} array. However, after the 2073 patch, a dash array of {{[1.0, 0.0]}} is passed to the {{BasicStroke}} constructor if the original stroke is solid. Running the attached test program shows the output from drawing a very long text line on my 8 core Intel Xeon 3.37 Ghz machine with an ATI FireGL V7350 graphics card: {noformat} Drawing with dash= [1.0, 0.0] took 14570.986102 ms Drawing with dash= null took 0.326722 ms {noformat} I.e. the difference in performance is immense. Note also there is no workaround for this. Even if you specify a solid stroke, geotools will automatically create a dummy [1,0] stroke for you. We have created a patch for the 2.5.5 version. The patch substitutes any {{[1.0, 0.0]}} dash array with a null argument before constructing the BasicStroke. All existing unit tests in the gt-render module pass with the patch installed and our application performs extremely much better when zooming in. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel