This article is from the Mac Programming FAQ, by Jon Watte firstname.lastname@example.org with numerous contributions by others.
It is not. It just requires some hand-holding to get good results.
The main rules are: Make sure the source and destination pixMaps are of
the same depth.
Make sure the front color is black and the back color is white.
Use srcCopy and don't use a masking region, unless it's rectangular.
Copy to an unclipped window (the frontmost window). Make sure the
ctSeed values of the source pixMap and dest pixMap match.
Copying few and large pixMaps is faster than copying many and small
ones. Icon-sized sprites count as small ones.
Make sure your source bitmap or pixelMap has the same alignment, when
adjusted for the source and destination rect expressed in global screen
coordinates. The necessary alignment is 32 bits (4 bytes), although 128
bit (16 byte) alignment is probably even better on 68040 macs and won't
hurt on other macs.
Example of global alignment:
Your window is positioned at (42,100) (H,V)
Your destination rectangle is (10,20)-(74,52)
The alignment coefficient of the rectangle in global coordinates is
(42+10)*bitDepth where bitDepth is one of 1,2,4,8,16 or 32.
Make sure your source pixmap rect has the same coeffecient modulo your
alignment factor (in bits) For black&white macs, this is still true,
although bitDepth is fix at 1. Offscreen pixMaps can calculate with a
"global posistion" of 0,0 and get correct results.