画像を投稿できませんでしたが、「CGContextDrawRadialGradient」メソッドを使用して、影付きの青いボール (直径 40 ピクセルまで) を描画し、ボールの周りに「パルス状の」白いリングを作成します (指輪)。リングは青いボールの端から始まり、外側に広がります (半径はタイマーで大きくなります)。白いリングは電波のように外側に広がりながら消えていきます。
シミュレーターでの実行は素晴らしいように見えますが、iPhone 4 での実行は非常に遅くなります。リングは (シミュレーターのように) 約 1 秒でパルスするはずですが、電話では 15 ~ 20 秒かかります。CALayer、CGLayer について少し読んで、いくつかのグラデーション アニメーションのセグメントを読んでいますが、最高のパフォーマンスを得るために何を使用すべきかは明確ではありません。
どうすればこれを高速化できますか。ボールをレイヤーに配置し、拡大するリングを別のレイヤーに配置する必要がありますか? もしそうなら、drawrect で更新するレイヤーをどのように知ることができますか?
ガイダンスに感謝します。ありがとう。