1

我编写了我的第一个 iOS 应用程序 Amaziograph,它使用了 Core Graphics。我的应用程序是一个绘图应用程序,它使用绘制很多线条(最多 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...
4

1 回答 1

3

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

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

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

于 2012-12-16T15:59:22.393 回答