从CoreGraphics升级

时间:2012-12-16 15:48:11

标签: ios opengl-es core-graphics

我写了第一个使用Core Graphics的iOS应用程序Amaziograph。 我的应用程序是一个绘图应用程序,它采用绘制很多行(最多30行逐个,在不同的位置+一些阴影来模拟画笔模糊,它需要看起来好像所有行同时绘制)用CG,我发现它很慢。事实上,当我切换到Retina并尝试用手指画一条线时,我需要等待一秒钟才能画出来。

我意识到Core Graphics不再符合我的应用程序的要求,因为我想使用Retina显示器的优势并添加一些photoshop风格的画笔。

我的问题是,是否存在比Core Graphics更快更强大的图形库,但界面简单。我只需要绘制尺寸,不透明度,柔软度的简单线条,并可能使用一些更高级的画笔。在看到Apple的GLPaint应用程序之后,我正在考虑使用OpenGL,但对于我来说,对于所有这些帧缓冲区,上下文等等,这似乎有点复杂。我正在寻找与CG的意识形态相似的东西,因此重写我的代码不会花费太多时间。此外,现在我正在UIImage视图中进行所有绘制,因此直接在UIImages上绘制会很不错。

以下是我现在用来绘制的代码的摘录:

//...Begin image contest >> draw the previous image in >> set stroke style >>
CGContextBeginPath(currentContext);
CGContextMoveToPoint(currentContext, lastPoint.x, lastPoint.y-offset);
CGContextAddLineToPoint(currentContext, currentPoint.x, currentPoint.y-offset);
CGContextStrokePath(currentContext);
//Send to an UIImage and end image contest...

1 个答案:

答案 0 :(得分:3)

对于iOS平台,您不会找到性能优于Core Graphics的其他图形库。很可能您的应用程序可以进行显着优化,有许多技巧可供使用。您可能对2012年的WWDC视频506感兴趣:

http://developer.apple.com/videos/wwdc/2012/  优化2D图形和动画性能

他们使用Core Graphics演示了一个以全帧速率工作的绘图应用程序。