I am capturing the desktop using Robot.createScreenCapture() and performing some transformations such as rotation and scaling on that image. I am using a BufferStrategy to render the transformed image onto a canvas. The performance is noticeably slow when using the image returned by Robot as is but when I copy the screenshot into another buffered image, the app flies.
We should see if we can accelerate the Robot returned image, by some means.
Run the attached test to see the performance of a screen-captured image. I have currently commented out the code that copies the Robot's image into another buffered image. You can uncomment the same and see the difference.