JDK-4511546 : Swing applications are unusable with X via ssh
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.3.1
  • Priority: P5
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_8
  • CPU: sparc
  • Submitted: 2001-10-05
  • Updated: 2001-11-14
  • Resolved: 2001-11-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
1.4.0 betaFixed

Name: bsT130419			Date: 10/05/2001

java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)

Try the following:
Connect from one Solaris box (which I'll refer to as the local box) to another
(the remote box) using secure shell.  Run the Java2D demo included in the JDK
release on the remote box, using X windows forwarding through ssh to view the
demo back to the local box.  The screen paints at a rate of a frame every
second or two instead of a few dozen frames per second as intended.  Also,
windows come up in small sizes and need to be dragged open to be viewable.

In addition to the above problem making our GUI unusable, certain dialogs do
not get fully painted.  It seems to be the case that dialogs with comboboxes in
them do not get fully painted.  For example, only the top left quadrant gets
painted.  I am still not certain that it is the combobox that causes this
problem, but that seems to be the common component among the dialogs that are
not being painted.
(Review ID: 133085) 

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta FIXED IN: merlin-beta INTEGRATED IN: merlin-beta

WORK AROUND Name: bsT130419 Date: 10/05/2001 Don't use secure shell. ======================================================================

EVALUATION I would like to limit this bug to the first problem mentioned: that of the GUI being slow under remote display through ssh. The other issues should be decomposed into other bug reports if necessary. Actually, I believe other bug reports for those issues already exist, and I will reference them below. The second problem listed in the Description, that of windows being sized very small when first shown is also described under other bug reports. It is likely to be a window manager interaction. See, for example, 4429511. I talked to ###@###.###, and he pointed me to a couple of bugs reports in the 2D category: 4374153 and 4398828. They both describe the other two problems: slow GUIs and parts of the GUI not being painted. It sounds like this bug has essentially been resolved. I'll let 2D close it as a duplicate as they see fit. ###@###.### 2001-10-10 I don't believe this is a duplicate of 4374153 and 4398828. (btw, they're already fixed in 1.3.1). Problem with repainting is most likely to be the famous 4244833: Painting of JMenus have deteriorated As for the slowness - we don't do anything different for ssh case versus 'normal' remote case, so this is most likely a result of Java2D sending pixels intensively back and forth (since it uses a lot of 2D apis - compositing, antialiasing). Unfortunately I don't think this is fixed in 1.4. Java2Demo types of applications would likely not to benefit from the remote X acceleration work done for Merlin, since the main part of that work was storing images in Pixmaps on the server side. This will improve copying images to the screen and solid color rendering as we use X requests for doing that. For compositing, antialiasing and such (operations which require read-modify-write) we'll have first read the image to client, modify the pixels and then put the image back to server, while in 1.3.x the images were stored on the client side, so the operation required one less transaction over the wire. Thus said, it's important that Swing-type applications (like SwingSet2, for example) benefit from the work in 1.4 hugely. In this sense, Java2Demo is not a 'typical' swing application. SwingSet2 runs just fine with and without ssh (I've tried solaris<->solaris and solaris<->linux). Users are encouraged to try 1.4 (beta 2 is currently out). ###@###.### 2001-10-11 I'm marking this bug fixed in Meriln as typical swing application show decent performance when run through ssh. For the 2D rendering in remote X there is another bug 4488401: Antialiasing/Compositing is slow on remote display ###@###.### 2001-11-13