我有一个视图,它有一个背景图像,并且CGPath
随着用户触摸屏幕而改变。绘制图像CGContextDrawImage()
然后在顶部绘制路径不够快,并且会阻碍触摸事件的性能。我想要的是有一个位图缓冲区,并且只绘制路径中的更改。因此,视图drawRect()
将只是绘制缓冲区。我怀疑我需要使用CGContext
s 但我不知道该怎么做。有没有其他优化方法?
编辑:
每次用户触摸屏幕时,我都会添加路径;所以“路径变化”是指向现有路径添加更多点。这就是为什么我认为我可以只缓冲图像并只绘制路径的“增量”而不是每次都绘制整个东西。目前我的绘图和事件逻辑是这样的:
-(void)drawRect{
//Draw the background image
//Draw the whole path
}
-(void)touchesMoved{
//Add the touch point to the path
[self setNeedsDisplay];
}
以这种方式绘制背景会使触摸事件采样的性能明显低于仅绘制路径。