Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iPhone模拟器中的程序速度_Objective C_Cocoa Touch_Ios Simulator_Ios4_Ipod Touch - Fatal编程技术网

Objective c iPhone模拟器中的程序速度

Objective c iPhone模拟器中的程序速度,objective-c,cocoa-touch,ios-simulator,ios4,ipod-touch,Objective C,Cocoa Touch,Ios Simulator,Ios4,Ipod Touch,在模拟器中运行的程序的速度与真正的iPhone或iPodtouch相比如何?它是更快还是更慢?iPhone模拟器(完全?)利用计算机资源,因此运行速度比实际设备快 这可能意味着您需要始终在真实设备上进行应用程序测试,以充分了解应用程序性能。iPhone simulator是simulator。它不模仿真正的硬件,只是模仿它的行为。事实上,为模拟器编译的应用程序只是直接在MacOSX机器上执行的x86二进制文件。因此,它充分利用了开发机器的所有处理能力和网络带宽 你可以假设你正在运行普通的MacO

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

iPhone模拟器(完全?)利用计算机资源,因此运行速度比实际设备快


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

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

你可以假设你正在运行普通的MacOSX应用程序。事实上是这样。这就是为什么我们不能在iOS模拟器中运行iOS应用程序的答案。您需要为x86编译二进制文件。然而,使用这种方法,您无法获得与实际设备完全相同的行为

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


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

然而,也存在一些问题。有这么多Android硬件,但emulator只模拟了其中的一部分。谷歌的实施。当然,如果您的设备有自己的特殊模块,则无法对其进行仿真。可以使用每个硬件供应商提供的某种仿真器插件,但据我所知,几乎没有供应商提供这种插件



所以,iPhone模拟器总是比真实设备快得多。Android emulator从来没有比真正的设备快过,即使它比最初的版本快了很多。

我也是这么想的,但我听说有人抱怨它在模拟器中运行得慢。从未见过这样的情况。虽然我听说winmobile和android模拟器也是如此。正如Eonil提到的,OpenGL是在iOS模拟器的软件中运行的,速度非常慢。与谷歌合作2分钟就会告诉你答案……我发现与谷歌的答案不同。答案是什么?谷歌把我带到了这里。因此,现在这里是获得答案的最终地点。