[ 
https://issues.apache.org/jira/browse/PIVOT-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908832#action_12908832
 ] 

Todd Volkert commented on PIVOT-633:
------------------------------------

Keep in mind that I tested the performance of the Graphics.drawRect() and 
drawLine() methods vs the more advanced draw() methods back in the day, and the 
older ones performed almost an order of magnitude better.  I delved into the 
native source code in the JDK, and they special case the simpler methods to go 
super fast since they're easier to optimize.  As such, I created the methods in 
GraphicsUtilities to be able to know when scaling was being applied and "do the 
right thing", allowing us to get the best of both worlds.  This was part of a 
larger effort in identifying performance bottlenecks.  The overarching 
conclusion of that work was that the *vast* majority of our time was spent in 
paint() calls, and that optimizing paints was the path to success.

> Eliminate use of GraphicsUtilities.drawRect() and drawLine()
> ------------------------------------------------------------
>
>                 Key: PIVOT-633
>                 URL: https://issues.apache.org/jira/browse/PIVOT-633
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk
>            Reporter: Greg Brown
>            Priority: Minor
>             Fix For: 2.0
>
>
> These methods were originally created to provide better rendering behavior 
> than the corresponding java.awt.Graphics#drawRect() and drawLine() classes. 
> However, a better approach is to call Graphics2D#draw() with a Rectangle2D or 
> a Line2D. This produces much better results when the display is scaled, since 
> these primitives use true floating point values.
> A number of components including most buttons have already been updated to 
> use the java.awt.geom classes, but many skins are still using 
> GraphicsUtilities and should also be updated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to