0

听说对于单视图应用来说,最好将当前主视图的内容保存在一个位图中,我们在这个位图上绘制额外的东西,当需要做的drawRect时候(被iOS调用时),然后我们就显示位图。

Core Graphics 真的有能力处理它吗?但是既然 cocos2D 和 OpenGL ES 在处理图形时都被认为是超快的,那么使用其中一个对上述情况有好处,使其更流畅还是与使用 Core Graphics 没有什么不同?

(或者也许它对应用程序的类型很重要,例如简单的绘图程序,而不是刷新 30fps 或 60fps 的游戏?)

4

1 回答 1

1

这取决于您是否需要绘制每一帧并更改您的绘图。

查看 Apple 提供的AccelerometerGraph示例代码。这是一种使用 Core Animation 层和 Core Graphics(Quartz 绘图)一起在许多帧上进行连续绘图的方法,而无需重绘已经绘制的内容。

Cocos2D 较少用于绘图,而更多用于基于精灵的动画,其中您的精灵是您导入的预渲染图像(png 等)。它同时处理多个图像的速度非常快,并提供了批处理节点,用于将所有图像合并到一个单一的 Open GL 调用中。

Quartz(核心图形)本身通常不是连续绘图的最佳选择,但如果需要的话,它更适合生成静态图像,然后再四处移动。

于 2012-04-22T23:56:24.883 回答