NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi all, I have two different displays, a DisplayImplJ3D with a DefaultRendererJ3D and a DisplayImplJ3D with a TwoDDisplayRendererJ3D. My application switches between these displays as needed. We discussed this issue in a former thread some weeks ago. The code switching the displays looks like this: private void setProjection(int policy) { if (displayPanel != null) remove(displayPanel); if (display != null) display.removeAllReferences(); if (policy == this.FLAT_PROJECTION) { display = flatDisplay; } else if ((policy == this.GLOBAL_PROJECTION) || (policy = this.NORTH_PROJECTION) || (policy == this.SOUTH_PROJECTION)) { display = geoDisplay; } display.addReference(mapReference); displayPanel = (JPanel)display.getComponent(); displayPanel.setBorder(BorderFactory.createLoweredBevelBorder()); add(displayPanel, BorderLayout.CENTER); validate(); } This code is called by the ActionListeners of four different JButtons (FLAT, GLOBAL, NORTH and SOUTH_PROJECTION). The mapReference is a FlatField representing a worldmap with elevation data which is mapped to Display.RGB. The first time the code is called everything looks fine. The second time I only get a grey plane/sphere instead of the coloured worldmap. The third time I get the coloured worldmap but the visualization is extremely slow. From there on every further call causes a furter slowdown of the visualization. This behaviour is independent of the order the two displays are used, e.g. the behaviour is the same if I only use the flat display or if I use the displays in alternating order. I can't see a memory leek or something else which could be the cause of this. Are there any comments? Many thanks in advance, Mathias -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
visad
archives: