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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel