I have a very, very large UIView
, which uses a CATiledLayer
.
I need to render a lot of small images onto it.
These small images are stored in one large image (1024x1024). They may have transparency.
At the moment, I use CGImageCreateWithImageInRect
on the large image to create CGImageRef
s for each small image that I need.
Later, within drawRect
, I call CGContextDrawImage(context, rect, smallImage);
to display each of these small images, as required.
According to Instruments' Time Profiler, however, there's a very large bottleneck at CGContextDrawImage
(274ms), and I wish to reduce that as best I can (short of using OpenGL).
My question is: how? Is there an alternative to CGContextDrawImage
which does not require scaling? Is using CGImageCreateWithImageInRect
the right way to go about it?