twe*_*ypi 9 java iphone mono objective-c xamarin.ios
我正在开发一个多平台游戏引擎,我正在使用MonoTouch来覆盖Android和iPhone.我真的对使用MonoTouch进行iOS和Android开发的性能方面感兴趣,有没有人知道MonoTouch对其相关平台使用Java或Objective-C开发的性能影响(如果有的话)?我从游戏开发者的角度来看这个具体的问题,所以绘制代码之类的东西真让我担心.从我所看到的单声道应用程序运行良好,但你说你在愤怒的小鸟(艺术作品,声音,物理处理)的水平上做了一个游戏,通过单声道运行得足够好,你不会放在显着使用平台的本地语言的劣势?
sko*_*ima 21
首先,澄清一下:在Android上,代码不是由Java运行时执行,而是由Dalvik执行(由Google从头开始编写).因此,Java VM性能与此问题无关.
考虑到这一点:Android上的大多数程序不执行本机代码,而是在Dalvik VM(运行已翻译的Java字节码)上运行.Mono JIT之前已经对其进行了基准测试,并且一直被发现更快(例如http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html).
在iOS上,MonoTouch必须先将代码预编译到本机应用程序中,然后才能将其安装在Apple设备上(由于操作系统强制执行的许可限制).也就是说,Objective C编译器和Mono的Ahead Of Time编译使用相同的LLVM后端来生成和优化二进制代码,因此您将获得的结果应该几乎相同(Mono的一些内存开销).
请记住唐纳德克努特的一句重要话:"过早优化是万恶之源." 编写代码时请考虑性能,但请记住可维护性更重要.只有在必要时才应进行优化(因为编译器通常会做得比你做得好得多).
| 归档时间: |
|
| 查看次数: |
7423 次 |
| 最近记录: |