Ted Strauss wrote: > We're having the following problem: > -- When switching background images, VE hangs for 10-30 seconds (on 2 > year old Macs and PCs). > -- All JPGs (range from 100k-600k) are loaded to objects when the > script starts like this: > names = os.listdir("bgPics/") > _i=0 > bgTextureList = {} > for name in names: > if re.compile(".*jpg").match(str(name)): > bgTextureList[_i] = Texture( os.path.join("bgPics/"+name)) > _i+=1 > > -- The object being used to display the background is this: > bg = TextureStimulus(texture = bgTextureList[0], > size = ( config.VISIONEGG_SCREEN_W, > config.VISIONEGG_SCREEN_H), #bg_texture.size, > max_alpha = 0.5, > shrink_texture_ok=1) > > -- Then the call to switch the background image is this: > bg.parameters.texture = bgTextureList[var_k] > > -- This all works fine on a new MacBook, but hangs on an 2 y.o. XP, > Win2k, and OS X machines. > > Any advice would be appreciated. Thanks Hi Ted, The following suggestions moves the JPEG decoding step to the initial startup (rather than on-the-fly). bgTexelData = [] _i=0 for name in names: if re.compile(".*jpg").match(str(name)): # load .jpg image using PIL im = Image.Image(os.path.join("bgPics/"+name)) # decode JPEG into raw bytes byte_string = im.tostring('raw','RGB',0,-1) # store as Numeric array imdata = Numeric.fromstring(byte_string,Numeric.UInt8) imdata = Numeric.reshape(imdata,(im.size[1],im.size[0],3)) bgTexelData.append( imdata ) _i+=1 Get the OpenGL texture object using the following: texture_object = bg.parameters.texture.get_texture_object() Then, when you want to switch the image, call: texture_object.put_sub_image( bgTexelData[vak_k] ) Another option is to load all the images into video RAM before beginning (creating a new TextureObject instance for each image). This is a little more involved -- let me know if demo could would be useful for that, and I'll try write one up. Cheers! Andrew ====================================== The Vision Egg mailing list Archives: //www.freelists.org/archives/visionegg Website: http://www.visionegg.org/mailinglist.html