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".

Reply via email to