- To: visad@xxxxxxxxxxxxxxxx
- Subject: continued threading issues
- From: Stuart Maclean <stuart@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 02 Aug 2006 13:44:08 -0700
I am using visad in an offscreen mode, inside a web application
environment (Tomcat 5.5 is container). Yet again I am having threading
issues in that sometimes visad appears to lock up.
I create a DisplayImplJ2D, add scalar maps, then add some data. I then always call
BufferedImage bi = displayImplJ2D.getImage( true ); I note that in certain situations this call hangs.I note that the 'true' parameter forces a retransformation and redraw of the 'scene'. If I experiment with a false value, it can lead incomplete graphics, ie Data objects not yet drawn.
This lack of understanding of the thread model has been my most frustrating bugbear using Visad. As I see it, I will have one thread per DisplayImpl (since the VisADCanvasJ2D created for each display starts its own thread), plus 5 threads in the ThreadPool. Are there any others ? Should I be using more calls to disableAction/enableAction and trying to coordinate a 'finished image' by listening for DisplayEvents of type FRAME_DONE?
On a somewhat related note, I am better off using one DisplayImpl object, at least one per 'user' (== user agent) and then toggling 'layers' of data on and off using DataRenderers so that I get an image containing just one Data object drawn, or should I use a separate DisplayImp object for each Data object (examples of Data for my app are coastline, bathymetry contours, model grid contours, etc)
I am trying to build a browser based UI system with visad producing BufferedImages on the server which I then convert to gif/png for browser consumption. If I can only track down/understand the fail-safe method for producing the BufferedImage objects.
I am tempted to hack the ThreadPool to create just one thread and see how that goes.
Any help very gratefully appreciated. Stuart ============================================================================== To unsubscribe visad, visit: http://www.unidata.ucar.edu/mailing-list-delete-form.html ==============================================================================
- Follow-Ups:
- Re: continued threading issues
- From: Bill Hibbard
- Re: continued threading issues