File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1414
1515## 为什么使用 LeanCLR for Unity
1616
17- Unity 发布到 ** WebGL** 与** 小游戏** 平台时,常见痛点包括 :
17+ Unity 发布到 ** WebGL** 与** 小游戏** 平台时,IL2CPP 常带来 wasm 过大、虚拟机与托管内存偏高等问题。使用 LeanCLR 替换 IL2CPP backend 后,在保持与 Unity 裁剪后 BCL 高兼容的同时,典型收益如下(相对 IL2CPP 全量 AOT 方案,配合 ` aot.xml ` / PGO 等 ** 选择性 AOT ** 策略) :
1818
19- - ** wasm 文件过大** ,首包与下载成本高
20- - ** 元数据与托管内存占用高** ,在内存受限设备上压力大
19+ | 维度 | 相对 IL2CPP 的优势 |
20+ | ------| -------------------|
21+ | ** AOT 代码体积** | 仅对热点或必要方法生成 AOT 时,托管代码编译产生的 ** AOT 原生代码可减少约 70%–90%** ,包体优化极其显著;非 AOT 部分由解释器执行,整体性能影响可控 |
22+ | ** 内存** | ** 虚拟机内存约减少 20%–35%** ,托管堆占用亦有少量下降 |
23+ | ** 大型项目与包体策略** | 支持 [ 延迟加载] ( ./lazy-load ) 与 [ 代码热更新] ( ./hot-update ) :在符合小游戏首包与分包要求的前提下,可承载** 数十 MB 级** 托管逻辑的大型项目 |
24+ | ** 垃圾回收** | 采用** 准确式 Mark-Sweep GC** ,回收效率更高,** GC 停顿更短、更快** |
2125
22- 使用 LeanCLR 替换 IL2CPP backend 后,可显著减小构建产物体积,并降低运行时内存开销,同时保持与 Unity 裁剪后 BCL 的高兼容性。
23-
24- 背景对比与 ECMA-335 能力见 [ 为什么需要 LeanCLR] ( ../../intro/why-leanclr ) 。
26+ 实现 selective AOT、延迟加载与热更的配置见 [ 概念辨析] ( ./concepts ) 、[ 项目设置] ( ./settings ) 。背景与 ECMA-335 能力见 [ 为什么需要 LeanCLR] ( ../../intro/why-leanclr ) 。
2527
2628## 相关仓库
2729
You can’t perform that action at this time.
0 commit comments