<AWT Dev> [8] Request for review: 7198229 [macosx] Painting during resizing of the frame should be more smooth

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Oct 23 04:41:14 PDT 2012


Hi Everyone,
Please review the fix.
This is an attempt to make our resizing better. I try to eliminate all 
unnecessary repaint actions.
1 "Layer backed view" was changed to "Layer hosting view" - unnecessary 
call from drawRect() was eliminated. Now we post Paint event in the 
resize callback when necessary.
2 CALayer options were changed, so now it don't force setNeedsDisplay.
3 canDrawInCGLContext() was added to CGLLayer.m to eliminate unnecessary 
call to drawInCGLContext() when our 2d texture is not ready.
4 CPlatformWindow.deliverMoveResizeEvent() make an attempt to expose 
LWWindowPeer synchronously. (LWCToolkit.invokeAndWait is used)

After the fix we call Layer.setNeedsDisplay only in the Java2D Queue 
Flusher threads. It means that we have no possibility to accelerate 
resizing even more from awt side.
I'll make addition research of this question in the following CR.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7129082
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8001213

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7198229
Webrev can be found at: http://cr.openjdk.java.net/~serb/7198229/webrev.00

-- 
Best regards, Sergey.




More information about the awt-dev mailing list