Hi Alex, I'm not sure why loading a 1mb image should be taking half a second on a current computer. What resolution are we talking about here? Do you need that high a resolution? Is it possible that you are exhausting GPU memory? GPU mem needed is width x height x 4 bytes for each image, and all images actually in the avg tree are uploaded into GPU memory.
On the other hand, you can try loading the image file into a bitmap object in another thread and use image.setBitmap() in the main thread. I can't promise this will work out of the box (libavg isn't meant to be threadsafe), but if any problems crop up, I'll look into them. Changing the avg scene graph directly from a second thread will definitely not work. Cheers & happy new year, Uli On Jan 2, 2010, at 5:11 PM, Alex Harrington wrote: > Hi everyone > > Happy New Year. > > I'm still working on the Xibo Digital Signage client and have an > issue loading larger images. The client runs a single avg node and > then adds/removes nodes from inside it via a queue and a frame > handler. Other threads add xml to the queue and the framehandler > pops the xml from the queue and creates nodes. > > That system has been working really well but I've been doing some > work with animations of late and when I create a new image node the > player thread pauses for about 1/2 second (presumably while the > image is read from disk) with a 1MB image. > > Is there any way I can prevent the player thread freezing while that > happens? I'm using SVN head from today. > > Source code if required is at https://code.launchpad.net/~xibo- > maintainers/xibo/encke-lineendings in the client/python folder. > > Here's the debug output from the app: > LOG: 1262448675.92 3 info R4a61ede591a21-11: Moving to next Media item > LOG: 1262448675.92 4 info R4a61ede591a21-11: Media is of type: Image > LOG: 1262448675.92 6 info ImageMedia plugin loaded! > LOG: 1262448675.92 5 info Media Options: uri -> 10.jpg > LOG: 1262448675.92 3 info R4a61ede591a21-11: Beginning transitions: > ('', '') > LOG: 1262448675.92 3 info Enqueue: add ('<image href="data/10.jpg" > id="M10-11-15" opacity="0" />', 'R4a61ede591a21-11') > LOG: 1262448675.92 3 info Queue length is now 1 > LOG: 1262448675.92 3 info Enqueue: resize ('M10-11-15', > 504.36000000000001, 362.88, 'centre', 'centre') > LOG: 1262448675.92 3 info Queue length is now 2 > LOG: 1262448675.93 3 info Enqueue: setOpacity ('M10-11-15', 1) > LOG: 1262448675.93 3 info Queue length is now 3 > LOG: 1262448675.93 3 info Enqueue: timer (20000, <bound method > XiboRegionManager.next of <XiboRegionManager(Thread-41, started > -1515242608)>>) > LOG: 1262448675.93 3 info Queue length is now 4 > LOG: 1262448675.93 3 info Enqueue: del M8-11-12 > LOG: 1262448675.93 3 info Queue length is now 5 > 1262448675.94 *** ADD IN: R4a61ede591a21-11 *** > LOG: 1262448676.4 5 debug Added new node to R4a61ede591a21-11 > 1262448676.4 *** ADD OUT: R4a61ede591a21-11 *** > LOG: 1262448676.42 5 debug Removed node M8-11-12 > > The numbers on the beginning of the ADD IN/ADD OUT lines are the > output of time.time() in seconds. > > Cheers > > Alex > > This email carries a disclaimer, a copy of which may be read at > http://learning.longhill.org.uk/disclaimer > > _______________________________________________ > libavg-users mailing list > [email protected] > https://mail.datenhain.de/mailman/listinfo/libavg-users > -- Any technology distinguishable from magic is insufficiently advanced. Ulrich von Zadow | +49-172-7872715 Jabber: [email protected] Skype: uzadow _______________________________________________ libavg-users mailing list [email protected] https://mail.datenhain.de/mailman/listinfo/libavg-users
