2013-10-16 9 views
38

YESにlayer.shouldRasterizeを設定する必要があるときセルを設定し、プロパティを設定します。私はUICollectionViewを使用しているとき、私は、パフォーマンスに大きな差が見 <pre><code>view.layer.shouldRasterize = YES; </code></pre> <p></p>ビューのレイヤプロパティを設定して調製することにより、いくつかのlagyness問題の修正を見てきました

どのような影響があるかわかりません。

説明を得ることは素晴らしいことでしょう。 ありがとう!

答えて

41

WWDC 2012 Polishing Your Interface Rotationsビデオ(有料のデベロッパーサブスクリプションが必要)では、レイヤーのラスタライズの利点と影響について説明しています。このビデオは別のトピック(面白いものです)ですが、ラスタライズとスナップショットの長所と短所について説明しています(ビデオの約8分で、UIView階層とプレゼンテーションツリー、レンダリングツリーを作成し、さらに6分後のラスタライズの説明に入ります)。

ボトムラインアニメーション化する複雑なビュー(つまり、再レンダリングするのに比較的高価ですが)がアニメーション化されたビュー自体が変更されていない場合は、レイヤーをラスタライズすると、常にレイヤー。しかし、これはメモリを犠牲にして(ラスタライズされたイメージをメモリに保存して)行います。

レイヤ内の変更をアニメーション化すると、shouldRasterizeがパフォーマンスに悪影響を与えることがあります(アニメーションのフレームごとにレイヤを再ラスタライズするため)。

通常、複雑なレイヤーのアニメーションを変更していない場合は、shouldRasterizeYESに設定し、アニメーションを行い、shouldRasterizeをオフにします。

関連する問題

 関連する問題