Re: Flicker


Dang, I knew I should have looked closer at that ;-).  Like I said,
tell me if I'm missing something and I was.  You are right.
Bill Hibbard is the expert on this and won't be back for a little
while, but I'm sure he'll chime in when he returns.

In the mean time, I changed my copy of VisADCanvasJ3D to use the
suggested method in the FAQ.  I don't notice any difference (but
then again I'm not sure I have the flickering you see).  If
passing in a custom GraphicConfiguration fixes your flicker
problem, let us know.


John J Brecht wrote:

I'd looked at that, but I don't know if they're syntactically the same. (BTW - It was the 2nd solution from the page that I successfully used in another app. If you use the first one, you get a warning about not using a template.) At first glance they didn't look syntactically equivalent to me. That combined with the fact that I get horrendous flicker with VisAD as-is made me assume they were definitely not equivalent. So, trimming out extraneous stuff, we have this

GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
cfg = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(template);

vs. :

GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice d = e.getDefaultScreenDevice();
GraphicsConfigTemplate3D gct3d = new GraphicsConfigTemplate3D();
GraphicsConfiguration c = gct3d.getBestConfiguration(d.getConfigurations());

Everything is identical up to the call to getBestConfiguration(). The solution calls the method with a GraphicsConfigTemplate3D as an argument, the VisAD solution calls it with GraphicsDevice.getConfigurations(), which is an array of GraphicsConfigurations. I have no idea what the effective difference is, but there is a syntactic difference. I'll just go ahead and try the solution and see what happens. When I get a chance to get back to this work (has to wait until next week due to the sudden eminent end of another grant ;) ) I will let you know how the experiment turns out.

Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307