56

ビューのレイヤー プロパティを設定することで、遅延の問題が修正されるのを見てきました。

view.layer.shouldRasterize = YES;

UICollectionView を使用し、セルを準備してプロパティを設定すると、パフォーマンスに大きな違いが見られました。

影響が何であるかはわかりません。

説明を受けるのは素晴らしいことです。ありがとう!

4

1 に答える 1

70

WWDC 2012 Polishing Your Interface Rotations ビデオ (残念ながら、オンラインでは利用できなくなりました) で、彼らはレイヤーをラスタライズすることの利点と意味について話しました。

要するに、アニメーション化する複雑なビュー (つまり、再レンダリングに比較的コストがかかる) があるが、アニメーション化されたビュー自体は変更されていない場合、レイヤーをラスタライズすると、常にレイヤーを再レンダリングする必要がなくなり、パフォーマンスが向上する可能性があります。 . ただし、メモリを犠牲にしてこれを行います (ラスタライズされたイメージをメモリに保存します)。

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

通常、それ自体が変化しない複雑なレイヤ セットをアニメートする場合は、 に設定shouldRasterizeYESてアニメーションを実行し、 をオフにしshouldRasterizeます。

于 2013-10-16T16:04:23.140 に答える