I've noticed that the speed of BltMaskBitMapRastPort() seems to depend on whether the mask has much transparent or opaque areas visible. This seems to imply the CPU is doing work that the graphics card should be doing :-(
I'm assuming that the problem is how I'm allocating the mask bitmap. Can anyone tell me how I *should* be allocating the mask? At the moment I'm using AllocRaster() to allocate bitmap->plane[0], where the width & height are the same as the corresponding (main) bitmap.
I suppose it might be how I'm allocating the main bitmap. I'm using AllocBitMap() with BMF_DISPLAYABLE and BMF_MINPLANES, and made a friend with the window's bitmap.
@ChrisH
I already replied to your thread on amigans.net. However, for the benefit of people who see this thread (this being an AmigaOS 4 developers forum and all):
BltMaskBitMapRastPort() is indeed software rendered. I suggest that you replace the mask with an alpha bitmap, and use CompositeTags().
Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work