Хорошо, у меня есть UIView
, который показывает CGPath
, который довольно широк. Его можно прокручивать в пределах UIScrollView
по горизонтали. Прямо сейчас, у меня есть вид, используя CATiledLayer
, потому что он имеет ширину более 1024 пикселей.Какой самый эффективный способ рисовать большой CGPath?
Так что мой вопрос: эффективен ли это?
- (void) drawRect:(CGRect)rect {
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextAddPath(g,path);
CGContextSetStrokeColor(g,color);
CGContextDrawPath(g,kCGPathStroke);
}
По существу, я рисую всю дорожку каждый раз, когда наносится слой в слое. Кто-нибудь знает, является ли это плохой идеей, или CGContext относительно умен только для рисования частей пути, которые находятся внутри отсекающего прямоугольника?
Путь в основном настроен таким образом, что я могу разбить его на блоки, похожие по размеру и форме на плитки, но для этого потребуется больше работы с моей стороны, потребуется некоторая избыточность среди путей (для фигур, которые пересекают границы плитки), и также возьмет некоторый расчет, чтобы найти, какой путь или пути рисовать.
Стоит ли двигаться в этом направлении или CGPath уже относительно быстро?