iOS:图像绘制性能

标签 ios performance drawing

我有几个基本的问题要弄清楚,希望你能帮忙...

我正在开发游戏应用程序。它有游戏循环,每次迭代我都会绘制大约 200 个 Sprite 。绘制位图最快的方法是什么?目前我使用 [UIImage drawAtPoint] 方法来绘制 Sprite ( Sprite 大小可以是 16x16 ... 64x64),但有些事情告诉我,这不是最好的方法。据我了解,UIImage是基于Quartz技术的? cocos2d 能提供更好的性能吗? 我还考虑过使用 OpenGL ES 通过纹理对象重现绘图机制。

最佳答案

如果您正在制作游戏,您可能希望避免使用 Quartz/UIKit/CoreAnimation。它们的设计简单易用,但会牺牲性能。

Opengl 是将 Sprite 绘制到 iPhone 屏幕上最快的方法。 iOS 中有两个版本的 Opengl:OpenglES 1.1 和 OpenglES 2.0。如果您希望支持 iphone 3G 和更早版本,您需要专门使用 1.1,或者能够确定您正在运行的设备并即时切换版本。 Opengl 非常快,但代价是学习曲线相当陡峭,并且有很多您会看到的样板代码。

Cocos2d 是一个构建在 Opengl 之上的 iOS 游戏引擎。它旨在使使用 opengl 更容易(以及许多其他事情)。如果你正在制作游戏,我建议你使用 cocos2d,因为他们已经做了很多艰苦的工作。如果不这样做,您将花费 99% 的时间让 opengl 工作,而不是专注于游戏。

祝你好运! :)

关于iOS:图像绘制性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6843497/

相关文章:

ios - 在 iOS 中发送 SPDY 请求导致 NSUrlSession 出现 "The request timed out"错误

ios - 将数据 SQlite 加载到 htmlString iOS

Javascript 性能 - Dom Reflow - Google 文章

java - 下一个更大元素的时间复杂度

javascript - 在 Canvas 中旋转 Sprite

ios - UIImage drawInRect

ios - TabBarItem 图标不会立即出现在 ios 8 中

javascript - Phonegap 获取 App 版本返回 null

performance - 多次渲染同一个模型

latex - TikZ 编码 : How to create space between polygon and the nodes it surrounds?