MorphOS Developer
Posts: 1516 from 2003/2/24
From: Finland
Clearing BMF_DISPLAYBLE does it.
Here are results from my Mac mini with original flags:
Quote:
Test using a 640 by 480 window, bitmap & mask.
BltBitMapRastPort() took 1549 uS
With a clear mask:
BltMaskBitMapRastPort() took 2199 uS (1 times slower than no mask)
With a set mask:
BltMaskBitMapRastPort() took 155381 uS (100 times slower than no mask)
With an alternating-line mask:
BltMaskBitMapRastPort() took 79655 uS (51 times slower than no mask)
With a chequered mask:
BltMaskBitMapRastPort() took 85879 uS (55 times slower than no mask)
With an alternating-thick-line mask:
BltMaskBitMapRastPort() took 79614 uS (51 times slower than no mask)
And results with BMF_DISPLAYABLE cleared:
Quote:
Test using a 640 by 480 window, bitmap & mask.
BltBitMapRastPort() took 10244 uS
With a clear mask:
BltMaskBitMapRastPort() took 1742 uS (0 times slower than no mask)
With a set mask:
BltMaskBitMapRastPort() took 8719 uS (1 times slower than no mask)
With an alternating-line mask:
BltMaskBitMapRastPort() took 5075 uS (0 times slower than no mask)
With a chequered mask:
BltMaskBitMapRastPort() took 14498 uS (1 times slower than no mask)
With an alternating-thick-line mask:
BltMaskBitMapRastPort() took 5235 uS (1 times slower than no mask)
1 + 1 = 3 with very large values of 1