drawRect
毎回何千ものポイントを再描画する代わりに、 「画面上の画像をキャッシュする」方法と追加の描画を行う方法がいくつかあると思います。その画像に追加し、必要なときにその画像を表示しdrawRect
ます。
BitmapContext を使用してビットマップに
drawRect
描画し、 でこのビットマップを描画します。を使用
CGLayer
して描画しCGLayer
ますdrawRect
。この画像はグラフィックス カードにキャッシュされるため、方法 1 よりも高速になる可能性があります (iOS の「メモリ警告」の RAM 使用量にはカウントされませんか?)に描画し
CGImage
、ビューのレイヤーを使用します。view.layer.contents = (id) cgimage;
CALayer
したがって、3つの方法があるようですが、方法(3)では a のみを使用しCGImage
てそれを達成 できると思います。(2)CALayer
のように、それ自体では画面イメージをキャッシュできません。CGLayer
方法 (2) は 3 つすべての中で最速であり、これを達成できる他の方法はありますか? 私は実際にいくつかの画面イメージをアニメーション化することを計画しており (そのうちの 5 つまたは 6 つをループします)、CADisplayLink
60fps の最高フレーム レートを試してみます。方法 (1)、(2)、または (3) のいずれかがグラフィックス カードのメモリを使用するため、RAM を使用しないため、iOS からもメモリ警告が表示される可能性は低くなりますか?