当前位置: 首页 > java >正文

【Unity】Mono相关理论知识学习

一种编译技术。

优点:

  1. 支持JIT编译:在运行时将IL编译成机器码。首次执行稍慢,好处在于运行更快,迭代更高效。
  2. 构建速度快:无需将IL转成C++,构建过程省去了IL2CPP的转换和原生编译步骤,适合开发阶段快速阶段测试和构建。
  3. 调试体验优秀:支持热重载、断点调试、变量查看、Call Stack等功能.
  4. 构建包体小:没有庞大的C++生成代码和原生库,在某些平台(如PC)可以获得更小的包体。
  5. 兼容性好:Mono支持大部分的C#功能和.NET API。
  6. 适用于某些平台:Unity编辑器就是Mono很多开发工作流程都是基于Mono

缺点:

  1. JIT导致的平台限制:iOS平台禁止使用JIT——Mono无法用于iOS发布
  2. 运行性能差于IL2CPP由于MonoJIT形式因此无法提前进行深度优化移动端嵌入式设备场景性能明显弱于IL2CPP特别启动时间内存分配效率
  3. 可逆性高,安全性差Mono使用IL文件运行容易编译
  4. GC垃圾回收效率相对较低MonoMono GC(Boehm GC)在大内存高频率分配场景效率较差IL2CPP提供UnityGC
  5. 对新语言的支持有限Unity旧版Mono运行支持最新C# 8 / 9特性例如异步流模式匹配增强

Mono构建Unity项目流程:C#源码 --> 用C#编译器编译成中间语言IL--> 生成 .NET DLL

Mono打包结果:生成.Net IL,存储.dll文件属于一种字节码格式不是原生机器码

Mono一个虚拟机运行动态读取IL字节码执行执行方式两种

1. (默认)JIT模式

Mono会在程序运行时IL转换为机器码(本地指令)然后执行对应机器当前平台(Windows/Android)CPU架构生成

2. (可选)解释执行模式

Mono可以直接逐条解释执行IL(性能较差,一般用于调试/嵌入设备)

http://www.xdnf.cn/news/15531.html

相关文章:

  • SQL中对字符串字段模糊查询(LIKE)的索引命中情况
  • 第3章 Excel表格格式设置技巧
  • Win11专业工作站版安装配置要求
  • [NOIP][C++] 树的重心
  • Word 文档合并利器:基于 org.docx4j 的 Java 实现全解析
  • Java线程创建与运行全解析
  • GraphQL与REST在微服务接口设计中的对比分析与实践
  • Windows 启动后桌面黑屏,其他程序正常运行
  • Java接口:小白如何初步认识Java接口?
  • 一点点dd
  • WPF 加载和显示 GIF 图片的完整指南
  • 聚焦AI与物流核心技术:2025智慧物流论坛及长三角快递物流展会9月上海开幕
  • API Gateway HTTP API 控制客户端访问 IP 源
  • CSV 字段映射小工具 Demo
  • Thymeleaf 基础语法与标准表达式详解
  • 安全初级作业2
  • Linux LVS集群技术详解与实战指南
  • 测试工作中的质量门禁管理
  • HTML基础P1 | HTML基本元素
  • 【游戏引擎之路】登神长阶(十九):3D物理引擎——岁不寒,无以知松柏;事不难,无以知君子
  • 【uni-ui】hbuilderx的uniapp 配置 -小程序左滑出现删除等功能
  • Django+Celery 进阶:Celery可视化监控与排错
  • 健康生活,从细节开始
  • Linux运维常用命令大全
  • JS的防抖与节流
  • 实例操作:基于 PipeLine 实现 JAVA项目集成 SonarQube代码检测通知 Jenkins
  • 基于R、Python的Copula变量相关性分析
  • 开源 python 应用 开发(七)数据可视化
  • 网络编程/Java面试/TCPUDP区别
  • Spring Boot 解决跨域问题