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

Unity 热更新基础知识

文章目录

  • 1.一些名词
  • 2.三种编译方式
  • 3.Unity 两种脚本后端
    • 3.1 Mono
    • 3.2 IL2CPP
    • 3.3 对比

1.一些名词

  • IL(Intermediate Language):中间语言(类似于汇编代码)
  • CIL(Common Intermediate Language):公共中间语言(特指在.Net平台下的IL标准)
  • CLR(Common Language Runtime):通用语言运行平台

2.三种编译方式

  • JIT(Just in time):动态编译/即时编译
    编译时:C# => CIL     运行时:CIL => 各平台原生码 => 执行
  • AOT(Ahead of time):静态编译/提前编译
    编译时:C# => CIL => 各平台原生码     运行时: 执行 (仍有部分JIT模式)
  • Full AOT(Full ahead of time):完全静态编译
    在AOT模式上去掉所有JIT编译 (ios只支持该模式)

3.Unity 两种脚本后端

3.1 Mono

在这里插入图片描述

3.2 IL2CPP

在这里插入图片描述

3.3 对比

特性MonoIL2CPP
编译方式即时编译(JIT),运行时编译代码静态编译(AOT),将IL转换为C++,然后编译为机器代码
性能性能较低,尤其是在复杂计算和大量对象时性能较高,适合高性能要求的游戏和应用
平台支持广泛支持,适用于大多数平台(但对iOS支持较差)支持大多数平台,尤其是iOS、Android和Windows,必须在iOS上使用
胞体大小通常较小(因为使用JIT,C#代码未完全转为机器码)通常较大(因为C#代码转为C++,需要生成完整的机器码),因此需要执行代码裁剪
构建时间构建时间较短构建时间较长,因涉及C++代码生成和编译
内存管理使用GC垃圾回收,可能导致延迟回收也使用GC,但在内存管理方面通常有更好的性能优化
功能支持支持更多动态功能,如反射、动态类型创建等对反射等动态功能支持较弱,需要额外处理
适用场景适合开发阶段和对性能要求不高的应用,快速迭代适合发布到生产环境,特别是对性能要求较高的应用和游戏
http://www.lryc.cn/news/517966.html

相关文章:

  • 安全基础-互联网技术基础
  • 深度学习从入门到实战——卷积神经网络原理解析及其应用
  • React快速上手到项目实战总篇
  • HTMLHTML5革命:构建现代网页的终极指南 - 0. 课程目录设计
  • ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片
  • Spring AMQP-保证消费者消息的可靠性
  • Linux(Centos 7.6)命令详解:mkdir
  • 在K8S上部署OceanBase的最佳实践
  • IDEA中Maven依赖包导入失败报红的潜在原因
  • 【计算机网络】课程 实验五 静态路由配置
  • 基于单片机的数字气压计设计
  • 【Docker项目实战】使用Docker部署Typemill轻量级平面文件CMS
  • react ts 定义基本类型,组件通过ref调用时类型提示
  • 二十三种设计模式-原型模式
  • 提升汽车金融租赁系统的效率与风险管理策略探讨
  • Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)
  • leetcode 2241. 设计一个 ATM 机器 中等
  • IO模型与NIO基础
  • 上门按摩系统架构与功能分析
  • ubuntu安装ssh9.2
  • linux wsl配置 redis远程连接
  • JVM 优化指南
  • 关机重启后,GitLab服务异常
  • 谷粒商城-高级篇完结-Sleuth+Zipkin 服务链路追踪
  • C语言基本知识复习浓缩版:标识符、函数、进制、数据类型
  • selenium已经登陆了 我怎么查看 网页 在fRequest xhr 的数据呢
  • Bash语言的数据库编程
  • 易支付二次元网站源码及部署教程
  • ios脚本巨魔商店多巴胺越狱基本操作教程
  • ScratchLLMStepByStep:SFT之分类微调