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

Reply via email to