I note that you change the signature of blitSurfaceData to private.
I think this is fine. Since it is only used in this class I imagine whatever reason
it was supposed it might need to be over-ridden has never arisen ..

But I still had to first go check that it isn't actually used elsewhere !

I'm not sure I get the comment about the intersection operation causing performance problems. Are you referring to the cost of that intersection operation itself, or some downstream consequence ?

-phil

On 8/28/20, 6:26 PM, Sergey Bylokhov wrote:
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

Reply via email to