Hi Rob,
OK, I understand it better now. If your application does
translucent (alpha compositing) or anti-aliased rendering -
both not supported by the X protocol - we have
to perform the rendering using our software loops.
But since Swing's back-buffer lives on the server
(in a pixmap), we have to read the pixels from the
pixmap to the client, modify then and write them
back.
It's worse if you have a gradient: then the rendering
will be done scanline by scanline - this is the
way our software pipeline does it.
Consider rendering your gradient to a BufferedImage
instead and then copying it to the back-buffer.
If the gradient fills whole component area (and is not
translucent), the BufferedImage can be opaque
(and make sure that isOpaque() property of the component
is true)
But in short, you'll need to minimize the amount of
rendering which is not supported by the X protocol if
you're expecting your application to be used in remote
X situations.
In the local server case, have you tried setting
this env. variable: J2D_PIXMAPS=shared . It may help.
And, you can always programmatically set
-Dsun.java2d.pmoffscreen=false in your application (just
make sure you set it before any gui is initialized).
Thanks,
Dmitri
Rob Ratcliff wrote:
Hi Dmitri,
I think we're understanding the problem more now. We think that a
repaint of the blank map is causing a repaint of an overlapping panel
that sports translucent gradient shading and vice-versa. So we're going
to take that out of the equation and see if the X-Server responds better.
Just to clarify my understanding though, where is the filled rectangle
generated? Is it an off-screen buffer/pixmap on the client side that is
sent to the X-Server or is it done with primitives sent to the X-Server?
And, what input settings cause it to change from client to server. (The
pmoffscreen=false does help quite a bit when remoting the GUI over X.)
Thanks!
Rob
Dmitri Trembovetski wrote:
Hi Rob,
what java version are you using? We have made some improvements in
jdk7 so that we don't send extra requests to the server.
Although looking at the requests it appears that the top
ones might belong to AWT, not 2D - which would explain
why you didn't see any difference when trying the Java2D
flags.
Thanks,
Dmitri
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".