Thanks for the encouragement! I have uploaded the test stack to [the new] revOnline, with some enhancements to make it easier and more fun to test. the tags are:

compare algorithm benchmark bitmap difference
imageData performance pixels

I've also uploaded it here:

http://bill.on-rev.com/linked/Compare2.zip

The full script for my algorithm is:

  --
  --

  put 0 into currPixel
  -- ImageA contains the imageData of image A
  -- ImageB contains the imageData of image B
  -- script assumes both images are the same dimension
  put the length of ImageA into dataLength
  put dataLength into rangeToCheck

  -- check a range of pixels for differences.
  -- the range begins with the full image
  repeat while currPixel < dataLength
     -- keep slicing the range in half until we find unchanged pixels
     repeat while byte currPixel+1 to currPixel+rangeToCheck of ImageA <> \
            byte currPixel+1 to currPixel+rangeToCheck of ImageB
        -- aha, the range we're testing has changes
        if rangeToCheck >= 8 then
           -- eight bytes is at least two pixels...
           -- it's still too big; slice it in half
           put rangeToCheck div 4 div 2 * 4 into rangeToCheck
        else
           -- we're down to a single changed pixel now
           -- record which pixel has changed (offset within the imageData)
           put 1 into bytesChanged[currPixel+1]
           -- move to the next pixel;
           -- assume that changed pixels are near each other
           add 4 to currPixel
        end if
     end repeat
     -- we found one or more unchanged pixels; skip this section of data
     add rangeToCheck to currPixel
     -- and update the range to encompass the remainder of the image
     put dataLength - currPixel into rangeToCheck
  end repeat

  --
  --

"Jerry J" <[email protected]> wrote in message news:[email protected]...
Bill, I'd like to see your final test stack also. I have another approach, but it doesn't give correct answers yet, at least I don't think so - at this point I'm no longer sure what the right answers are. Mine's recursive, and I can't wait to get it running right so we can see how fast it is (or not).
--Jerry J


_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to