It’s hard to know exactly what could be going on. I recall some similar issues when porting the jogl-demos over to the new APIs but they largely revolved around the more eager creation of pbuffers. The old 1.1.1 release used to create them lazily but they’re now created and initialized eagerly. Lots of crappy code in applications to detect whether we had to defer the first render was thereby eliminated.
If the jogl-demos exhibit the same problem then please file a bug. Otherwise if you could try to track down what’s going on a little further that would be helpful. Riven’s point that you shouldn’t hold up init() or display() for too long is a good one and you should experiment with making those methods do less work.
Regarding threading, the current default is still for JOGL’s OpenGL work to all be done on the AWT event dispatch thread, but code to switch to using its own thread is in the source tree and we plan to make that the default for the next JSR-231 beta. You can enable it in the current nightly builds with “-Dopengl.1thread=worker”.