Chris, >i=0 --> copy mapImage (in sysmem) to dummyImage (in VRAM) >i=1 --> a) copy mapImage (in sysmem) to cached texture version of >mapImage (in VRAM) >b) copy mapImage (texture in VRAM) to dummyImage (in VRAM) >later --> copy mapImage (texture in VRAM) to your Swing backbuffer >(in VRAM)
Thanks for your insight. So I guess there is nothing I can do to speed up what you mention happens later. It seems there is no easy way to copy mapImage to the Swing backbuffer in anything other than the EDT (In fact I suggest the attempting to do so while more EDT's are on the way may really screw with Swing). I think I need to describe what I am trying to do, and why I can not think of a strategy better than spawning a Thread from paintComponent(). This thread does all of the work associated with loading an image from file (if it is not loaded) and then doing everything up to step 1b above. Think of scrolling and zooming in a 'GoogleEarth' like interface. Initially you have a base image, as you zoom in you move through layers other images, as you pan you see surrounding images. Scrolling and zooming occurs in response to mouse and key events, these in turn alter the model and a repaint of the state occurs. In each session hundreds, or even thousands, of 1000x1000 pixel images may be loaded. Keeping all of these in memory, just in case they are needed again, is not practical. Rather I ensure that only those that are needed are loaded then discarded when they are no longer needed. So this is smooth I currently determine which images should be displayed in paintComponent() then spawn a thread to do the loading work(if not already spawned), actually only displaying the image after it is loaded. I guess I could move this further back, however it will still occur in the EDT. (Well maybe not, I could have a separate thread polling the zoom/pan state at some regular interval to determine which images should be loaded, or maybe use some loosely coupled propertyChangeEvent mechanism to manage the zoom/pane state and leverage of that - More to think about...) I did the single pixel thing - works fine on both pipelines on my machine. Regards, Alistair [Message sent by forum member 'alnrelly' (alnrelly)] http://forums.java.net/jive/thread.jspa?messageID=218476 =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".