为什么这个代码在设备上运行缓慢但在iphone上的模拟器上运行速度很快

时间:2011-01-28 07:09:10

标签: iphone cocos2d-iphone

为什么这个代码在设备上运行速度慢但在iphone上的模拟器上快速运行的任何想法,我在cocos2d中制作游戏,我正在将一个对象从一个地方移动到另一个地方,通过CCTouchBegan,CCTouchMoved,CCTouchEneded(ccp函数)然后我就采取行动,

任何好友都可以告诉我解决这个问题的主要问题是什么,

3 个答案:

答案 0 :(得分:6)

模拟器是模拟器而不是模拟器。所有模拟器确实提供了运行iOS应用程序的窗口。您会注意到,在为模拟器构建时,系统架构设置为i386。您在使用模拟器时正在为Mac编译。没有内存限制,沙盒等。事实上,我认为您的应用程序甚至会显示为自己的进程。

这就是为什么当你在设备上运行它时,你会受到重创。您只需要优化代码。模拟器很糟糕。只需使用您的设备进行调试,它就可以避免您的困惑。如果您发布代码,我们可能会帮助您加快速度。

快乐的编码。

答案 1 :(得分:3)

模拟器运行的计算机和iOS设备的基本硬件有很大不同,从CPU时钟速度到指令并行性,到分支预测,到高速缓存大小,到内存带宽,再到可用内存。考虑到不同的ISA,可能的编译器优化也可能不同。一般代码在Mac上的模拟器上比在iPhone上运行快一个数量级的情况并不少见。

答案 2 :(得分:1)

可能有很多原因,如(也)#simulator与实际设备

  1. 低内存可能是您实际设备中的第一个问题,因为您将安装不同类型的巨大应用程序,但在模拟器的情况下,您将不会安装t。
  2. 低功率问题,因为实际设备将由电池供电,而不是像模拟器一样始终获得恒定功率。
  3. 其他应用程序干扰您的应用程序运行周期,但在模拟器中,您在测试应用程序时几乎不会运行任何应用程序。
  4. 您无法在实际设备中看到MAC中的UserInterface(UI)清晰,因此显示正确的可能实际上并不正确。
  5. 应用受到呼叫的干扰,在模拟器中这种类型的干扰永远不会发生。