UIView
を使用する非常に大きながありますCATiledLayer
。
その上にたくさんの小さな画像をレンダリングする必要があります。
これらの小さな画像は、1 つの大きな画像 (1024x1024) に保存されます。透明性がある場合があります。
現時点ではCGImageCreateWithImageInRect
、大きな画像を使用して、CGImageRef
必要な小さな画像ごとに を作成しています。
後で、drawRect
を呼び出しCGContextDrawImage(context, rect, smallImage);
て、必要に応じてこれらの小さな画像をそれぞれ表示します。
ただし、Instruments の Time Profiler によると、(274ms) に非常に大きなボトルネックがあり、CGContextDrawImage
できる限りそれを減らしたいと考えています (OpenGL の使用を除く)。
私の質問は次のとおりです。CGContextDrawImage
スケーリングを必要としない代替手段はありますか? CGImageCreateWithImageInRect
それについて正しい方法を使用していますか?