iOS游戏是如何设置的?

Gre*_*reg 5 iphone installation performance ios

在我过去的所有iOS游戏中,我将游戏设置为一个简单的基于视图的应用程序,其中包含一个视图控制器,.h文件和.m文件.我设置了一个NSTimer每秒30,40或60帧的集合,称为主运行循环.后来进入开发阶段,我将图形更新(更高的FPS)和游戏计算(更低的FPS)分开以减少滞后.我从未理解如何在游戏中实现多线程/并发,因为图形和计算彼此依赖...

鉴于我从未有机会阅读"真实"游戏的源代码,我是以合理的方式设置它,还是我对游戏的主框架采取了完全错误的方法并运行循环?

我问这个是因为我注意到我的应用程序与App Store上的其他应用程序相比有很多延迟(例如,我的应用程序在iPhone 3G上可怕地落后,但是Doodle Jump,Fruit Ninja,Cut the Rope等运行相对顺利).

Jay*_*Jay 9

  1. 您希望在运行循环中使用CADisplayLink而不是NSTimer.
  2. 您希望尽可能多地在GPU上绘图.这将释放CPU周期,硬件加速了您目前在软件中进行的大量计算.您可以通过在OpenGL中将您的精灵绘制为OpenGL纹理来实现此目的.有像Cocos2D那样为你做这些的库.Cocos2D提供了一个简单的API来创建和动画精灵,它完成了所有的OpenGL,所以你不必这样做.