8024261: xrender: improve performance of small fillRect operations
authorceisserer
Thu, 05 Sep 2013 11:50:42 +0400
changeset 19785 3cc04826bb7f
parent 19784 dadb86ec2b3f
child 19786 59bce7ade060
8024261: xrender: improve performance of small fillRect operations Reviewed-by: prr, bae
jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java	Wed Sep 04 12:38:00 2013 +0400
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java	Thu Sep 05 11:50:42 2013 +0400
@@ -285,7 +285,12 @@
         if (xorEnabled) {
             con.GCRectangles(dst.getXid(), dst.getGC(), rects);
         } else {
-            con.renderRectangles(dst.getPicture(), compRule, solidColor, rects);
+            if (rects.getSize() == 1) {
+                con.renderRectangle(dst.getPicture(), compRule, solidColor,
+                        rects.getX(0), rects.getY(0), rects.getWidth(0), rects.getHeight(0));
+            } else {
+                con.renderRectangles(dst.getPicture(), compRule, solidColor, rects);
+            }
         }
     }