I did have a question though regarding JOGL. I know that in LWJGL that the flush takes a long time. So basically you can send all the commands to the card but when you call flush there is this long pause while it actually finishes rendering. It seems like the request to draw the Drawable and the resulting callback to the event listener does not return until the flush is complete.
Is there anyway I can have the flush operate on another thread so that I can be building the next frame? I would need to have some way to detect that the frame was actually done before I start to render the next one, but I think this would be a valuable peice of parallalism.
I have not confirmed the time delta between exiting the draw callback and returning from the call to Drawable draw, but I suspect it is a significant period of time.