我有一个小运行速度的问题。 上的负载,我产生包含至少1000点的CGMutablePath。 我想在屏幕上滚动这条道路,所以我用这样的代码:
-(void) drawRect:(CGRect)rect {
/*
Here, I have a timer calling drawRect 60 times per second.
There's also code for the scale and currentTime, based on
an MP3 playback (AVAudioPlayer);
*/
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextClearRect(ref, [self frame]);
CGContextSaveGState(ref);
CGContextTranslateCTM(ref, s.width/2+currentTime, 1);
CGContextScaleCTM(ref, scale, 1);
CGContextAddPath(ref, myGraphPath);
CGContextSetRGBFillColor(ref, .1, .1, .1, .8);
CGContextFillPath(ref);
CGContextRestoreGState(ref);
}
问题是,这是一个有点慢,不是很多,但我需要补充的图形代码一大堆更多...我在想,如果设备被绘制整个路径(一旦应用规模,路径约10.000像素宽),或只是部分在屏幕上看到? 我能做些什么来优化呢?