iPhone模拟器中的程序速度

时间:2010-10-08 13:20:52

标签: objective-c cocoa-touch ios-simulator ios4 ipod-touch

在模拟器中运行程序的速度与真正的iPhone或Ipod触摸相比如何?是更快还是更慢?

2 个答案:

答案 0 :(得分:10)

iPhone模拟器是模拟器。它不会模拟真实硬件,只是模仿其行为。事实上,为模拟器编译的应用程序只是直接在Mac OS X机器上执行的x86二进制文件。因此它充分利用了开发机器的所有处理能力和网络带宽。

您可以假设您正在运行常规Mac OS X应用。事实上,它是。这就是为什么我们无法在iOS模拟器中运行iOS应用程序的答案。您需要为x86编译二进制文件。但是,使用这种方法,您无法使用真实设备获得完全相同的行为。

基本的UIKit图形速度非常快,因为它是在OS X的Quartz上模拟的,它是硬件加速的,但OpenGL ES上下文是个例外。这真的很慢。即使它是模拟器,模拟器使用软件渲染器模拟 OpenGL ES以显示正确的结果。它不使用硬件加速。


Android模拟器是模拟器。它本质上是一个虚拟机模拟所有目标机器行为,所以它比iPhone模拟器慢得多。但它可以与真实设备完全相同。您甚至可以直接在Android模拟器上从Android市场运行Android应用程序。

然而,有一些陷阱。有很多Android硬件,但模拟器只模拟它们的一部分。谷歌的实施。如果您的设备有自己的特殊模块,当然,它无法模拟。可以使用来自每个硬件供应商的某种模拟器插件,但据我所知,几乎没有供应商提供它。


因此,iPhone模拟器总是比真实设备快得多。 Android模拟器从未比真实设备更快,即使它比最初版本快得多。

答案 1 :(得分:1)

iPhone模拟器(完全?)利用计算机资源,因此它比真实设备运行得更快。

这可能意味着您需要始终在真实设备上进行应用程序测试,以充分了解应用程序性能。