0.官方的注意事项 1.不要用nullable 2.尽量不要用foreach,原理限制,有gc。一般嵌套task或者foreach里多次await容易出现代码执行不到的情况 3.不要用struct,struct在ILRuntime里,如果作为成员变量,性能比class更低。struct ...
前言 我们有一个用Unity引擎开发了二十个月的mmo arpg手游项目,在安卓已经测试三轮了,出于IOS的热的考虑且结合我们的情况:全部代码都是纯C 开发非Lua,所以计划使用ILRuntime热更,这里记录我们把这个项目用上ILRuntime热更的过程,包括遇到的困难和如何解决的。其它类型项目或其它项目架构的重点问题可能不一样 项目环境:ILRuntime版本 . . , Unity版本: . ...
2020-09-10 12:39 6 2189 推荐指数:
0.官方的注意事项 1.不要用nullable 2.尽量不要用foreach,原理限制,有gc。一般嵌套task或者foreach里多次await容易出现代码执行不到的情况 3.不要用struct,struct在ILRuntime里,如果作为成员变量,性能比class更低。struct ...
=distribute.pc_relevant.none-task 在新的项目中,使用到了ILRuntime的热更新方式,不同于XLua等 ...
ILRuntime热更方案坑点 在热更工程中: 1.AddComponent需要限定好类型,不能用Type类型,会报错 2.GetComponent无法获取基类组件类型,无法找到时,需要在MonoBehaviorAdapter中添加遍历获取基类逻辑3.Hotfix调用Unity中带参数的委托 ...
如果ILRuntime使用时性能有问题,需要确认以下几点: 1.发包前是否做了自动分析CLR绑定 2.是否注册了值类型绑定 3.热更DLL是否为release模式编译 4.发包前是否关闭了Development build 5.编辑器下是否 ...
https://github.com/meta-42/ILRuntime 教程 https://ourpalm.github.io/ILRuntime/public/v1/guide/index.html ...
最近项目中用到个Linq的排序,由于没有注册适配器,导致不能用,其实ILRT作者已经做得很好,报错代码中已经做好对应的提示,只需要直接把提示的注册代码放到ILHelper.cs中注册适配器的位置就好,以下是对应代码的应用热更中的表格类 // 定义类 ...
版权声明:本文为原创文章,转载请声明https://www.cnblogs.com/unityExplorer/p/13540784.html 最近几年,随着游戏研发质量越来越高,游戏包体大小也是增大不少,热更新功能就越发显的重要。 两、三年前曾用过xlua作为热更方式,xlua的热补丁方式 ...
ILRuntime基本原理# ILRuntime借助Mono.Cecil库来读取DLL的PE信息,以及当中类型的所有信息,最终得到方法的IL汇编码,然后通过内置的IL解译执行虚拟机来执行DLL中的代码。IL解释器代码在ILIntepreter.cs,通过Opcode来逐语句执行机器码,解释器 ...