2012-12-16 46 views
1

我写了我的第一个iOS应用程序,Amaziograph,它使用核心图形。 我的应用程序是一个绘图应用程序,它使用绘制大量的线条(最多30行一个接一个,在不同的位置+一些阴影来模拟画笔模糊,并且它需要显示为好像所有线条都是同时绘制的)与CG,我发现很慢。事实上,当我切换到Retina并尝试用手指画一条线时,我需要等待一秒左右,然后才能画出。从CoreGraphics升级

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

我的问题是,是否有一个图形库比Core Graphics更快,功能更强大,但接口简单。我需要的是绘制简单的线条,大小,不透明度,柔软度,并可能使用更高级的画笔。我在看到Apple的GLPaint应用程序后想到了OpenGL,但对于我来说,对于所有这些帧缓冲区,上下文等来说似乎有点复杂。我正在寻找类似于CG的意识形态的东西,因此重写我的代码不需要很多时间。此外,现在我正在UIImage视图中完成所有绘图,因此直接在UIImage上绘制将会很好。

这是我现在使用绘制代码的摘录:

//...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... 

回答

3

你不会找到另一个图形库比核芯显卡的性能表现,可将iOS平台。很可能你的应用程序可以被显着优化,有很多技巧可供使用。你可能会感兴趣的WWDC视频506 2012:

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

他们证明了使用核芯显卡,在全帧速率工作的涂料中的应用。

+0

谢谢,我还没有想过优化我的代码。这一定会帮助我更快地完成我的应用程序。 – Hristo