Hello. Please review the fix for jdk/client. Bug: https://bugs.openjdk.java.net/browse/JDK-8252070 Fix: http://cr.openjdk.java.net/~serb/8252070/webrev.01
Some of our code assumes that the native system(XRender, D3D, OGL) makes some effective optimizations, but in some cases, we can do better. One of the areas for improvements is direct blitting. If the source is much bigger than the destination we should not try to copy the non-existent area and could cut coordinates accordingly. The actual change is: 951 Rectangle dst = 952 new Rectangle(dx, dy, w, h).intersection(dstData.getBounds()); 953 if (dst.isEmpty()) { 972 // return 975 } 979 sx += dst.x - dx; 980 sy += dst.y - dy; See performance data and some additional comments: https://bugs.openjdk.java.net/browse/JDK-8252070?focusedCommentId=14365864&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14365864 -- Best regards, Sergey.