I would expect translucent/shaped windows to be much faster and easier to do on Windows Vista/7. Isn’t there any new DWM API that allows you to implement this with better performance?
Yeah, that was on my mind. I’ve seen it in some SW that added shadows to windows and it worked pretty well, even if the shadows were actually 4 smaller windows along the sides. AWT shouldn’t do this automatically… just manage the windows yourself in such way. However AWT could do automatic shaping of translucent windows on fully transparent areas to avoid the issue on Linux I mentioned.
Thanks for the explanations trembovetski, I understand much better the issue. Lets hope Java 6u18 had a significant performance boost.
Not much in terms of performance difference on Vista/7 layered windows, but you’re right, they do have some DWM APIs which make it sort of possible, but only when D3D is used, and only when Aero is enabled. This is certainly a possibility. For Prism (the new JavaFX graphics stack) we’d probably only support translucent windows on W7/Vista through those APIs.
Dmitri
I don’t think this is AWT’s job. The developer could use the provided API to determine if translucent windows are supported or not, and modify app’s behavior accordingly.
One issue is with JavaStore is that currently there isn’t a JavaFX API that tells you whether translucent windows are supported or not.
Dmitri