よし、かなり広いaUIView
を表示する aがあります。横方向CGPath
にスクロールできます。UIScrollView
現在、CATiledLayer
幅が 1024 ピクセルを超えているため、ビューを使用しています。
だから私の質問は:これは効率的ですか?
- (void) drawRect:(CGRect)rect {
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextAddPath(g,path);
CGContextSetStrokeColor(g,color);
CGContextDrawPath(g,kCGPathStroke);
}
基本的に、レイヤー内のタイルが描画されるたびにパス全体を描画しています。これが悪い考えなのか、それともクリッピング四角形内にあるパスの部分のみを描画することについて CGContext が比較的スマートなのか、誰かが知っていますか?
パスはほとんどの場合、サイズと形状がタイルに似ているブロックに分割できるように設定されていますが、それには私の側でより多くの作業が必要であり、パス間にいくらかの冗長性が必要になります (形状の場合)タイルの境界を越える)、また、描画するパスを見つけるために計算が必要になります。
この方向に進む価値はありますか、それとも CGPath はすでに比較的速く描画されていますか?