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 つをループします)、CADisplayLink60fps の最高フレーム レートを試してみます。方法 (1)、(2)、または (3) のいずれかがグラフィックス カードのメモリを使用するため、RAM を使用しないため、iOS からもメモリ警告が表示される可能性は低くなりますか?