> I noticed that the Earth example in visad/examples continues to use up
> processor time even when the cursor is outside both of its windows. On
> my Sun Ultra 60 I see this by repeatedly doing "ps -ef | grep java" and
> looking at the accumulated time.
> Actually, I first noticed this on my real application, which gets slower
> as I add more displayed data. It eventually gets to the point where it
> takes 20 seconds to refresh a window with nothing but a JTable in it. I
> have another Java3D program which doesn't use VisAD, and it doesn't have
> this behavior.
> Profiling suggests a lot of time spent in the J3D-Renderer-1 thread in
> Canvas3D.callDisplayList. My question is, is VisAD continually
> refreshing the display even when it hasn't changed? If so, why, and how
> can I make it stop? Or have I misunderstood what's going on?
I ran 'java Earth lowresTerrain.nc' and checked for activity
in DisplayImpl.doAction(), MouseBehaviorJ3D.processStimulus(),
VisADCanvasJ3D.renderField() and VisADCanvasJ3D.postSwap().
They all had zero calls as long as I did not manipulate the
In particular, VisADCanvasJ3D extends Canvas3D and its
renderField() and postSwap() methods are invoked every time
Java3D re-renders the frame. Since they are not called, that
indicates that Java3D is not re-rendering.
Furthermore, I do not observe the general slugishness you
A year or more ago, VisAD did include a RemoveBehaviorJ3D
that did trigger re-rendering (it was a vestage of a work
around for an early Java3D bug). So make sure you have a
recent VisAD installed.
However, if the J3D-Renderer-1 is consuming unnecessary
cycles under VisAD then we would like to fix that. I searched
the archive of JAVA3D-INTEREST@xxxxxxxxxxxx and couldn't find
anything about this problem. I suggest you post your problem
to that list. See:
for information about subscribing. If you do find that VisAD
is doing something wrong, please us know so we can fix it.
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738