私は最近、iOSで2Dスプライトを描画するためのさまざまなテクノロジー(CoreAnimation、UIViews、CGContext、Open GL ES)をいろいろと試しています。CoreAnimationから得た開発時間に対する最高のパフォーマンスなので、(当面は)それに固執します。
ビットマップを表示するには、CALayersを使用します。これは問題なく動作し、OpenGLよりもそれほど遅くはありません。頻繁に繰り返される複数のパターンがあります(これはプラットフォームゲームでは一般的です)。メモリ節約の理由から、保存された画像を複数のCALayerに再利用したいと思います。
それをしてもいいですか?どのように?私は次のようなものを想像します:
- ビットマップを任意の形式(UIImage?)でメモリに保存します
- UIImageからCGImageRefを取得します
- そのビットマップを表示する必要がある各CALayerにCGImageRefを適用します
これは実際には各レイヤーのビットマップへのポインターのみを保存しますか、それとも「Apple-magic」は各CAレイヤーのビットマップのコピーを作成しますか?
ありがとうございました。