--- old/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java 2017-09-18 08:56:26.197783398 -0700 +++ new/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java 2017-09-18 08:56:26.093785526 -0700 @@ -3146,6 +3146,14 @@ double widthScale = ((double) rvWidth) / width; double heightScale = ((double) rvHeight) / height; + if (resolutionVariant instanceof VolatileImage) { + SurfaceData sd = SurfaceManager + .getManager(resolutionVariant) + .getPrimarySurfaceData(); + widthScale *= sd.getDefaultScaleX(); + heightScale *= sd.getDefaultScaleY(); + } + sx1 = Region.clipScale(sx1, widthScale); sy1 = Region.clipScale(sy1, heightScale); sx2 = Region.clipScale(sx2, widthScale);