Unity-当前版本是否生成本机代码
Unity - does the current version generate native code or not?
在这里,我可以看到Unity文档说它比本机代码慢50%:http://docs.unity3d.com/412/412/documentation/scriptreferention/scriptreference/index.script_script_compilation_compilation_28advanced29.html
在这里说有一个IL2CPP编译器,该编译器获得了C 代码,该代码已编译为本机代码。那么现在是创建本机代码,还是慢50%?:)http://blogs.unity3d.com/2015/05/06/an-indroduction-to-ilcpp-internals/http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-in-unity/
您所引用的Unity的文档很旧,即使在编写时,我也会想知道这些性能号码。通常,衡量和报告的性能要比50%这样的数字表达要复杂得多。
如果您想了解有关IL2CPP的更多信息,请查看此博客文章系列。
基于我们在Unity的基准测试,我们看到使用IL2CPP的脚本有限代码的性能要比Mono的Unity版本更好。您可以找到我们在这里发布的一个基准。
有一些警告要记住:
- Unity使用单声道运行时的旧版本(大约2011年)。较新的版本更好 - 我们现在正在升级运行时。
- 大多数游戏代码不是脚本限制的,通常是gpu的。
- 生成的C 代码仍在提供托管语言的安全性,因此它可以进行数组界限。
- 单声道和IL2CPP编译器之间的性能差异将根据平台而变化。在某些平台上,Mono AOT编译器生产机器代码以及C 编译器。在其他平台上并非如此。
相关文章:
- 在nodejs中使用本机代码的最佳方法是什么?
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- 可以从本机代码(如C++/Delphi)中使用.netCore DLL
- 使用 x86_64-w64-mingw32-g++ 编译 JNI C++本机代码
- 终止调用本机代码的 .Net 线程
- 从本机代码返回到托管代码会损坏返回的对象
- 我能否通过 JNI 调试在本机代码中创建的 JVM?
- Android 无法从本机代码调用 Java 方法 JNI
- 将自定义 Java 数据模型传递给我的本机代码
- 用于 JUnit 测试的本机代码未使用 'nar-maven-plugin' 编译
- 将本机C 代码转换为Java
- 有什么方法可以用本机C 代码替换Windows API计时器(settimer)
- 使用 Android Studio 使用本机代码编译 apk 时,如何在链接处删除 libgnustl_static.
- 如何在 Linux 上调试本机代码时自动附加到多个子进程
- Unity-当前版本是否生成本机代码
- 是否可以在ARC中使用本机C++代码
- NewDirectByteBuffer是否在本机代码中创建副本
- JNI 是否为本机代码引入了额外的线程
- 是否有一种简单的方法可以使用本机C++代码(VS2010)和Bamboo执行CI
- 仅通过本机代码检查apk中是否存在目录(文件夹)