Performance problem with multiple displays

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