Hi Stuart-
Sorry for the delay in respoinding.
Stuart Maclean wrote:
I am using the IDV classes to build navigated displays. I have a
MapProjectionDisplay (in 2Din3D mode) and add some displayables. I then
call the draw method. I have also attached a DisplayListener to the MPD.
In offscreen mode (pass offscreen == true in the MPD.getInstance()
static method, I never see a FRAME_DONE DisplayEvent arrive into my
DisplayListener. Further, the call to MPD.getImage(boolean) (derived
from DisplayMaster) always hangs. I suspect that the latter is a
consequence of the former.
We've also found that in the offscreen mode, using the wait flag
on getImage blocks forever. Jeff looked into this and believes it
is a race condition where the expected event that triggers the
FRAME_DONE call does not happen in offscreen mode.
So my question is, are there further calls I should be making in my code
to ensure that offscreen rendering works with MapProjectionDisplay
objects? When I was doing the same work 'by hand' i.e. using just visad
objects, the getImage() call did return.
In the IDV, we keep around our own flags based on the number of
Please wait... events, number of outstanding calls to IDV wait cursor
and then when those appear to be clear, check for some amount of
time to make sure they are clear and then call getImage without
the boolean.
I am running a 1.5 vm, with java3d version 1.5 also, on RHEL4. Driver
is 'fglrc' from ati, if that matters.
Any help appreciated
The only suggestion I have is to call getImage without the
boolean after a wait period. Perhaps Jeff can comment more
on this.
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************