I have a situation where I need to downsize a 10000 x 10000 pixel image down to roughly 4000 x 4000. Right now I can do this with RB picture objects, but the call to .drawPicture(...) blocks for about 5000msec. As I'm trying to maintain a 60fps openGL animation at the same time, this is a bit of a problem. :-)
I set up a test with PictureMBS.Scale. I've tried ScaleFast(), and though it's very fast (about 21msec) the quality is too poor. Testing shows that the .ScaleBox mode, the quality is good. However, with the giant image this was failing as it looks like the temporary scale buffer is 4x the size of the source picture? (I'm seeing log messages about a 1.2 GB mmap call failing). Speed is critical here so I don't want to use the disk-based options. Q: is there any MBS call that will downsize a large image in the following way: * can handle a 10000x10000 pixel image * does not require tons of memory * has a multi-threaded option / OR a yield option that can yield every 10msec or so. (I think I need yielding more frequently than 1 tick, since I'm trying to maintain 60fps animation) * fast/fair quality (like .ScaleBox ) If not, I'm wondering if perhaps .scaleFast followed by a simple blur filter might do the trick? Does MBS have a super fast blur filter? _______________________________________________ Mbsplugins_monkeybreadsoftware.info mailing list mbsplugins@monkeybreadsoftware.info https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info