Re: Performance issues with RBGA satellite images

Hi Rob,

In a situation like this, you can bracket all the calls
that will trigger a Display update between calls to
disableAction() and enableAction(), as follows:

  display.disableAction();
  . . . // calls that trigger display to update
  display.enableAction();

See visad/examples/SatDisplay.java for an example.

Good luck,
Bill

On Thu, 25 Aug 2005, Rob Hackett wrote:

>     I am writing an application which plots many different types of data
> onto the Display at once. I do not suffer from any real performance issues
> until I render a satellite image extracted via the AreaAdapter to the
> display, using a ScalarMap with a DisplayRealType of Display.RGBA. Once the
> image has been rendered (which in itself takes several seconds), the
> application begins to suffer from severe performance problems, particularly
> when adding new DataReferences. Even adding simple data like a Text object
> takes about 20 seconds, more complicated operations such as drawing a front
> with the FrontDrawer become virtually unusable.
>
>     I think that what is happening is that by adding a DataReference I am
> triggering an event which causes the Display to redraw all it's data,
> including the satellite image, which then takes several seconds to redraw.
> This problem is then compounded by the fact that more than one event, will
> cause the image to be rendered several times, bringing everything else to a
> standstill.
>
>     Is there some way of temporarily delaying the replotting of the image
> until all other activity from an event, or user interaction has ceased. This
> way the replotting could be performed without holding anything else up?
>
>     Alternatively, is this caused by something else that I haven't
> considered?
>
> thanks,
>
> Rob
>
>