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

Reply via email to