U3D高级编程:主程手记——第二章2.1读书笔记

文章目录


AOT编译是什么,可以只用AOT编译吗?

  1. AOT编译就是在程序运行前将IL转译成机器码存储在文件中进行编译
  2. 适用于绝大部分JIT产生的机器码情况,但有部分仍然只能靠JIT编译产生机器码,比如控管监督相关的代码

完全静态编译是什么,有什么特点?

  1. 基于AOT编译模式更进一步产生所有的机器码的编译方式
  2. 可以让程序在运行期完全不需要用到JIT,适用于不允许使用JIT的操作系统,比如IOS

Unity打包到各个平台时,使用哪些编译方式?

  1. 打包到IOS平台,使用完全静态编译
  2. 打包到Android和Windows平台,使用JIT实时编译来运行代码

Unity使用哪种GC方式?

  1. 主要是Boehm-GC,书中提到的SGen-GC是从Mono运行时自身的GC发展历史来说的

什么是托管代码和非托管代码?

  1. C#代码生成的IL编码就是托管代码,由虚拟机的JIT编译执行,对象无须手动释放,由GC管理
  2. C/C++或C#中以不安全类型写的代码是非托管代码,虚拟机无法跟踪到这类代码对象

Mono用的好好的,为什么需要IL2CPP机制?

  1. 维护成本过大。Unity的Mono虚拟机有自己的修改方案,需要自己维护虚拟机程序,导致Unity在各个平台移植时工作量巨大,甚至不可能完成
  2. Mono版本授权受限。Mono版本无法升级,很多C#新特性无法使用,而换成IL2CPP则可以开发一套组件解决问题
  3. 提高运行效率,换成IL2CPP后有了1.5~2倍效率提升

总结

本小节主讲编译,Unity的Mono与IL2CPP关系

相关推荐
WiChP5 小时前
【V0.1B15】从零开始的2D游戏引擎开发之路
游戏引擎
zhchyun20082 天前
# 【Unity UI 进阶】仿 Element UI 打造企业级 Unity UI 组件库(06)
ui·unity·游戏引擎
Behaviour2 天前
Unity游戏HybridCLR 热更新接入实战
游戏·unity·游戏引擎
LONGZETECH2 天前
新能源汽车动力电池实训教学痛点与虚拟仿真技术解决方案
c语言·3d·unity·架构·汽车·汽车教学软件
王维志2 天前
UiSplineRenderer
unity·游戏引擎
k4m7v2pz3 天前
Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复
游戏引擎·godot·相机·缩放·clamp·camera2d
FairGuard手游加固3 天前
iOS 游戏加固技术解析:代码混淆、资源加密、内存保护与重签名检测
安全·游戏·macos·unity·ios·objective-c
k4m7v2pz3 天前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
UWA4 天前
GPM 2.0 WebGL 监测能力扩容|覆盖 Unity/Cocos/LayaAir 多引擎微信 & 抖音小游戏
unity·微信·性能优化·小游戏·webgl
Behaviour4 天前
Unity 手游网络同步技术
网络·unity·c#·游戏引擎