私は自分のアプリを最適化しようとしています。非常に視覚的に豊富なので、大きな画像やブレンディングなどのUIViewがかなりたくさんあります。レイヤの変換の前または後にCALayerのラスタライズを行う必要がありますか?
CALayers
のshouldRasterize
プロパティを試しています。特に1つのケースでは、テーブルを含む多くのサブビューで構成されるUIView
があります。画面全体がスクロールするトランジションの一部として、このUIView
も(変換を使用して)スケールと回転を行います。
UIView
の内容は静的なままなので、view.layer.shouldRasterize = YES
を設定すると意味があると思いました。しかし、パフォーマンスの向上は見られませんでした。それは新しいスケールと回転ですべてのフレームを再ラスタライズすることでしょうか?私はそれが恒等変換行列を持つ冒頭でラスタライズすることを望んでいました、そして、それがトランジションの間に拡大縮小して回転するようにキャッシュしますか?
もしそうでなければ、強制的に起こる方法はありますか?縮尺を変えずにラスタライズされた内容を回転させる余分なスーパービュー/レイヤーを追加するのは短期間です...
何が赤くなるのでしょうか? GPUメモリが不足していますか? – jjxtra
いずれか、またはレイヤーが再度レンダリングされたため、キャッシュが無効になります。 – NachoSoto