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 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 > >
visad
archives: