JOGL Texture approach help wanted

I can display textures using JOGL, and performance is fine if the texture is already on the card. The download of a 512x512x24 texture takes about 0.5 sec, which I need to do far too often to place in-line in the main drawing loop. What I would like to do is transfer the texture to the card on another thread, and use it on the main thread. Is this even possible? Can I have 2 threads using the same context? Can I download the texture on one context, and transfer it to the main context after the transfer is complete? Should I create a pool of textures in the main thread at init time, and then draw to them on other threads using their own contexts? Input welcome.

Michael

You can make a second context which shares textures and display lists with the first one, and load the texture into this context. You can do this either by making a very small GLCanvas (i.e., 0x0 or 1x1) with no decoration using the appropriate GLDrawableFactory method, or creating a pbuffer from your GLCanvas, which will automatically share textures and display lists with the GLCanvas.