2 回答
TA贡献1993条经验 获得超5个赞
我的建议是使用Cocos2d,这是一个基于Open GL的框架,专门为游戏设计。
就您而言,您将获得的优势是:
使用纹理图集而不是单个图像来节省尽可能多的内存;
对图像使用PVR格式(与PNG相比);PVR是iPhone / iPad图形芯片的本机格式,它将节省更多内存。
您也可以尝试为图像使用较小的覆盖区格式(即RGB565代替RGB8888,每像素16位而不是32位)。
如果您认为这对您有用,请参阅本教程。
您可以直接使用Open GL或Core Animation进行相同的操作,但是我认为最好让Cocos2d处理低级的东西。
有关基于Core Animation的相同操作的教程,请参阅此文章。如您所见,您将实现一些类来完成Cocos2d已经为您提供的服务(以及许多其他功能)。
TA贡献1798条经验 获得超7个赞
上面的mysterycoconut链接很好,因为它避免了当人们在SO上问有关CoreGraphics动画的问题时似乎总是出现的“ use Cocos2D”反射帖子。您遇到的问题的根源是一个经过深思熟虑的animationImages API,该API消耗了过多的应用程序内存,因此永远不应使用。您可以在iOS设备上的“视频和内存使用情况”中阅读问题的详细说明。。在那里描述了我自己的解决方案。基本上,您想将图像数据解压缩到一个文件中,然后将内容渗入显卡。在iOS下,这非常快,CoreGraphics在图形卡级别利用优化的纹理逻辑来限制缓冲区副本,从而很少使用设备CPU。通过这种方法,可以仅使用CoreGraphics即可获得数百幅图像的非常快的动画(45至60 FPS),而不会耗尽所有应用程序的内存。
- 2 回答
- 0 关注
- 664 浏览
添加回答
举报