28th Wed
CALayerの欠けている機能に関するメモ
iPhoneアプリで凝ったアニメーションを作るとCALayerを多用するようになりますが、
いくつか現時点では欠けている点があるのでメモしておきます。
- GLに比べて大分遅い。CALayerのレンダリングは内部的にGLを使っていないようですね。そのかわりアンチエイリアシングがキレイだったりします。
- 3D transformがrenderInContextできない。ドキュメントでも少し触れられていますが、3Dのtransfromを設定しても renderInContextに反映されないです。
- contentsをkey frameアニメーションさせる場合に、contentsの遅延読み込みが出来ない。そのため、イメージデータを全部メモリに読み込む必要があり、メモリ消費量が大きい。AVVideoCompositionCoreAnimationToolなどを使うときに困ることになります。
ちなみに、CALayerのcontentsプロパティは id 型の retain なんですが、CGImageRefを指定するとちゃんとCGImageRetainを呼んでいる様子。違和感があります。
posted by
genki on Wed 28 Jul 2010 at 02:30 with 0 comments