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".

Reply via email to