Re: DisplayMaster problem

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 Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307