私の iPhone アプリでは、画面上を個別に移動する 10x10 ピクセルの小さなドットを多数 (最大 150) 表示する必要があります。スムーズに動く必要はありませんが、1 秒ごとに更新する必要があります。現在、私は毎秒再描画する単一の CALayer として実装しています。
しかし、CALayer は GPU ハードウェアにマッピングされているため、非常に効率的であることは理解しています。そのため、ドットごとに個別の CALayer を作成し、それらの位置プロパティを設定して移動する方が (バッテリー使用量の点で) 効率的かどうか疑問に思いました。
それで、あなたはその経験があるかどうか疑問に思います。CPU の処理は少なくなりますが、GPU の処理は多くなります。GPU ハードウェアでまだ処理できる CALayer の数は?
それらを別々の CALayer にすれば、簡単にアニメーション化することもでき、見栄えが良くなります。それはより多くのエネルギー集約的でしょうか?
私の場合さらに悪いのは、現在、公開されている最大 4 つのタイルで CATiledLayer を使用していることです。これは、更新ごとに 4 回再描画する必要があることも意味します。