我正在开发一个应用程序,用户可以在其中用手指触摸画线或简单地喷涂颜色。我正在使用 UIBezierPath 在 drawRect 方法中使用以下代码绘制手指触摸的路径(颜色)。
CGContextRef 上下文 = UIGraphicsGetCurrentContext();
for (BezierPath *path in paths)
{
path.path.lineWidth = [DataController dataController].apertureRadius * 2;
path.path.lineJoinStyle = kCGLineJoinRound;
path.path.lineCapStyle = kCGLineCapRound;
///
[path.color set];
CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 20, [path.color CGColor]);//Problem
//
[path.path stroke];
}
这段代码在模拟器上运行完美,但在设备上喷雾真的很慢。问题仅在于方法调用 CGContextSetShadowWithColor,如果我评论这条线性能最好,完全没有问题。
请告诉我为什么会这样,我该怎么办。这条线是必要的,因为我想用模糊阴影显示类似喷雾的效果。