2016-03-01 8 views
5

私は、数百のCALayerのオブジェクトが互いに隣接して並んでいる可能性があります。したがって、これは可能な限り実行可能でなければなりません。これらのレイヤーはあまり複雑ではありません。これらは不透明であり、テキストまたはシェイプのレイヤーになります。この量のレイヤーをレイアウトする必要があります。これにはCAConstraintsを使用します。CALayerとレイヤーバックNSViewのパフォーマンス

リンゴのドキュメントから:

重要:OS Xのv10.8以降では、あなたがレイヤー階層の使用を最小限に抑え、ちょうど層担保ビューを使用することをお勧めします。そのバージョンのOS Xで導入されたレイヤー再描画ポリシーにより、レイヤーバックビューの動作をカスタマイズし、スタンドアロンレイヤーを使用して以前に得られたパフォーマンスを引き続き得ることができます。

私は、CALayerオブジェクトがビューよりも軽量であることを知っています。私は確信していませんなぜ我々は層の代わりにレイヤービューを直接使用する必要があります。自動レイアウトでの使いやすさのためか、このステートメントのパフォーマンス/メモリ関連の理由が増えていますか?このコードはOS XとiOSの両方で動作するため、最高のパフォーマンスを実現したいと考えています。

どのようにすればいいですか?自動レイアウトとレイヤーバックNSViewsまたはカスタムCALayer階層?

+1

iOSではCAConstraintsは利用できません。レイヤーバックビューの方が柔軟性があると言われているように聞こえますが、同じパフォーマンスが得られます。 – beyowulf

+0

私はCAConstraintsの利用可能性を探していたはずです..ありがとう! – mangerlahn

答えて

0

レイヤービューのビューを使用することに決めました。今のところパフォーマンスはとても良いです。ビューはすべてstackViewによってレイアウトされています。