关于Mono和ILmCPP一直没弄懂

unity3d中ScriptingBackend选择mono和il2cpp的区别

一篇总结得很不错的文章:【Unity游戏开发】Mono和IL2CPP的区别 - 知乎

IL2CPP(C++ 的中间语言)是 Unity 开发的脚本后端,您可以在为各种平台构建项目时将其用作 Mono 的替代方案。IL2CPP(一种提前 (AOT) 编译器)支持以与 Mono 脚本后端相同的方式调试托管代码。

使用 IL2CPP 构建项目时,Unity 将 IL 代码从脚本和程序集转换为 C++,然后为您选择的平台创建本机二进制文件(例如.exe、apk、.xap)。IL2CPP 的一些用途包括提高 Unity 项目的性能、安全性和平台兼容性。

每个脚本后端都有优点和缺点,这些优点和缺点应该会影响您决定哪个是适合您的情况的正确选择:

IL2CPP:

  • 与 Mono 相比,代码生成有了很大改进。
  • 从上到下调试 C++ 中的脚本代码是可能的。
  • 您可以启用引擎代码剥离以减少代码大小。
  • 构建时间比 Mono 长。
  • 仅支持 Ahead of Time (AOT) 编译。

单核细胞增多症:

  • 比 IL2CPP 更快的构建时间。
  • 由于即时编译 (JIT),支持更多托管库。
  • 支持运行时代码执行。
  • 必须交付托管程序集(mono 或 .net 生成的 .dll 文件)。

官方文档:Memory Management in Unity - Unity Learn

总结:

每个脚本后端都有优点和缺点,这些优点和缺点应该会影响您决定哪个是适合您的情况的正确选择:
IL2CPP
  • 与 Mono 相比,代码生成有了很大改进。
  • 从上到下调试 C++ 中的脚本代码是可能的。
  • 您可以启用引擎代码剥离以减少代码大小。
  • 构建时间比 Mono 长。
  • 仅支持Ahead of Time (AOT)编译。
Mono
  • 比 IL2CPP 更快的构建时间。
  • 由于即时编译(JIT),支持更多托管库。
  • 支持运行时代码执行。
  • 必须发布托管程序集(由 mono 或.net生成的.dll文件)。
提示:您应该使用 IL2CPP 来开发和发布您的项目。如果使用 IL2CPP 导致迭代时间太慢,请在开发期间暂时切换到 Mono Scripting Backend 以提高迭代速度。

unity scripting backend mono vs il2cpp相关推荐

  1. Unity 中的 .NET、Mono 和 IL2CPP

    接 上一篇 继续了解,重点是 IL2CPP. 一.Unity 的脚本后端 Unity 使用开源 .NET 平台,以确保使用 Unity 创建的应用程序可以跨平台运行. 脚本后端(scripting b ...

  2. Unity Mono和IL2CPP的区别

    *目录 Unity是如何实现跨平台的? Mono介绍 IL2CPP介绍 Mono与IL2CPP的区别* 一.Unity是如何实现跨平台的? 跨平台:一次编译,不需要任何代码修改,应用程序就可以运行在任 ...

  3. [unity] build项目报错:Currently selected scripting backend (.NET)is not installed

    [Unity] Currently selected scripting backend .NET is notinstalled Unity build项目报错,没有安装 .NET 问题概况 Uni ...

  4. unity3d中ScriptingBackend选择mono和il2cpp的区别

    unity3d中ScriptingBackend选择mono和il2cpp的区别 在iOS和Android上,在Player Settings中选择mono或il2cpp脚本后端.要更改脚本后端,请转 ...

  5. Mono和IL2CPP

    原文 https://zhuanlan.zhihu.com/p/352463394 增加了少部分自己的理解 什么是跨平台 首先,什么是跨平台? 跨平台:一次编译,不需要任何代码修改,应用程序就可以运行 ...

  6. 游戏开发unity打包相关系列:使用IL2CPP时打包windows程序出现Currently selected scripting backend (IL2CPP) is not installed

    安装对应平台需要的构建支持

  7. Unity 语音识别 详情版 和 发布过程中遇到的问题

    最近公司打算弄一个新的项目即unity的语音识别,上网搜索后发现讯飞sdk是现目前大多数常用的语音识别,而且识别效果佳 目前网上已有了讯飞+sdk的教程,所以要先谢谢两位大神: 海涛高软:博客地址ht ...

  8. Unity宏 + RSP文件定义宏

    最近在用腾讯测试工具GAutomator测试Unity项目时,遇到要添加WETEST_SDK宏定义,由于还是Unity小白一个,不知道如何添加宏定义,特此学习. 转载出处:https://www.cn ...

  9. 【unity】unity跨平台原理

    跨平台 跨平台的含义是指一次编译,各个平台都可以运行. C/C++语言不能一次编译到处执行,因为C/C++的编译的结果是针对特定平台操作系统.处理器指令集而生成的本地代码(native code),那 ...

  10. Unity app提高设备可用性

    / 支持 64 位架构 自 2019 年 8 月 1 日起,您在 Google Play 上发布的应用必须支持 64 位架构. 64 位 CPU 能够为您的用户提供更快.更丰富的体验.添加 64 位的 ...

最新文章

  1. 光环大数据spark文档_推荐大数据Spark必读书目
  2. 好班微校云信聊天解读记录
  3. Oracle 11g DG主库节点2 ORA-00245: control file backup fail
  4. 职业中专计算机基础试讲课,职业中专计算机基础教育分析
  5. PCL之体素网格滤波器--VoxelGrid
  6. python post请求参数化,参数化包含JSON主体的python POST请求
  7. SpringSecurity系列(三) Spring Security 表单登录
  8. idea打包SpringBoot项目打包成jar包和war
  9. mybatis批量更新报错问题解决
  10. 华硕服务器系统都还原不了怎么办,华硕笔记本重装系统后dns解析失败怎么办
  11. 【Linux】Linux 常用基操和 Java 环境的部署
  12. 转:要使一个人有一颗自由、独立、勇敢的心
  13. 圣诞要到了~教你用Python制作一个表白神器——照片墙,祝你成功
  14. 条件随机场(2)——概率计算
  15. 博客大赛,我的一场生意一场梦
  16. css:currentColor和inherit属性的区别
  17. 绩效面谈的4种技巧(一)
  18. MySQL SQL基础DML
  19. go-zero微服务到k8s部署应有尽有系列(一)开发环境搭建
  20. 二部六层电梯程序西门子1200二部六层电梯程序

热门文章

  1. 私网地址与公网地址转换
  2. 24点游戏开发实例(Qt含源码)
  3. 5.3 Hessenberg法求特征值
  4. 微信开发获取签名wx.config
  5. 1138 Postorder Traversal
  6. xdoc html导出word,使用XDocReport将HTML格式数据转换为Word
  7. matlab 保存图片大小尺寸_改变figure大小存储图片(matlab)
  8. 荒野乱斗好友系统分析
  9. coredump 瘦身风云
  10. python中seaborn报错These `style` levels are missing dashes解决办法