小金子 程序员掘金 2022-07-05 21:30 发表于北京 收录于合集#C++3个 哈喽,大家好,我是小金子。 今天给大家推荐的项目是「huatuo」,一个特性完整、零成本、高性能、低内存的近乎完美的 Unity 全平台原生 c# 热更方案。 特性 1、特性完整 近乎完整实现了 ECMA-335 规范,除了项目中"限制和注意事项" 之外的特性都支持。 2、零学习和使用成本 huatuo 将纯 AOT runtime 增强为完整的 runtime,使得热更新代码与 AOT 代码无缝工作。脚本类与 AOT 类在同一个运行时内,可以随意写继承、反射、多线程(volatile、ThreadStatic、Task、async)之类的代码。不需要额外写任何特殊代码、没有代码生成,也没有什么特殊限制。 3、执行高效 实现了一个极其高效的寄存器解释器,所有指标都大幅优于其他热更新方案。 4、内存高效 热更新脚本中定义的类跟普通 c# 类占用一样的内存空间,远优于其他热更新方案。 5、原生支持 hotfix 修复 AOT 部分代码 几乎不增加任何开发和运行开销。 6、开创性地实现了 differential hybrid dll 技术 可以将某个热更新 dll 先 AOT 形式打包,后面可以对该 dll 任意增删改,huatuo 会智能地让变化或者新增的类和函数以 interpreter 模式运行,但未改动的类和函数以 AOT 方式运行。这意味着热更新的游戏逻辑的运行性能将接近原生 AOT 的水平。 工作原理 huatuo 从 mono 的 hybrid mode execution 技术中得到启发,为 unity 的 il2cpp 之类的 AOT runtime 额外提供了 interpreter 模块,将它们由纯 AOT 运行时改造为 "AOT + Interpreter" 混合运行方式。 更具体地说,huatuo 做了以下几点工作:
项目地址:https://github.com/focus-creative-games/huatuo 确定 |
|
来自: 风声之家 > 《Unity 动画系统》