一个近乎完美的 Unity 全平台热更方案
【公众号回复 “1024”,免费领取程序员赚钱实操经验】
大家好,我是章鱼猫。
今天推荐的这个项目是「HybridCLR」,是一个特性完整、零成本、高性能、低内存的近乎完美的 Unity 全平台原生 c# 热更方案。
HybridCLR 扩充了 il2cpp 的代码,使它由纯 AOT runtime 变成 AOT+Interpreter 混合 runtime,进而原生支持动态加载 assembly,使得基于 il2cpp backend 打包的游戏不仅能在 Android 平台,也能在iOS、Consoles 等限制了 JIT 的平台上高效地以 AOT+interpreter 混合模式执行,从底层彻底支持了热更新。
工作原理
HybridCLR 从 mono 的 hybrid mode execution 技术中得到启发,为 unity 的 il2cpp 之类的 AOT runtime 额外提供了 interpreter 模块,将它们由纯 AOT 运行时改造为 "AOT + Interpreter" 混合运行方式。
更具体地说,HybridCLR 做了以下几点工作:
实现了一个高效的元数据 (dll) 解析库
改造了元数据管理模块,实现了元数据的动态注册
实现了一个IL指令集到自定义的寄存器指令集的 compiler
实现了一个高效的寄存器解释器
额外提供大量的 instinct 函数,提升解释器性能
提供 hotfix AOT 的支持
开源项目地址:https://github.com/focus-creative-games/hybridclr
开源项目作者:focus-creative-games
推荐阅读
重磅推荐:一款基于 GitHub 的 Web 笔记应用
整洁架构代码模板推荐
手把手教你实现一个在线魔方
最近,章鱼猫建了一个「GitHub 精选交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,加我微信:loonggg1024,备注【GitHub】邀请你入群。
---特别推荐---
特别推荐:一个新的优质的专注分享各种浏览器插件、黑科技教程、各种你想不到的高效率软件及工具的公众号,「程序员掘金」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片,直接关注。
一个近乎完美的 Unity 全平台热更方案相关推荐
- 一个近乎完美的Unity全平台原生c#热更方案
今天给大家推荐一个近乎完美的Unity全平台原生c#热更方案,相对比其他方案,此方案学习成本更低.完全支持c#所有特性.兼容性极高.占用内存低.执行小高. 项目简介 HybridCLR是一个特性完整. ...
- Unity可用的热更新方案
C#热更方案 ILRuntime ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速.方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的 ...
- Java和U3D比较,Unity热更方案 ILRuntime 和 toLua的比较
前言 目前市面上流行的热更方案就是lua系列和ILRuntime,选取哪一种需要根据自己的项目进行比对. 无论是ILRuntime还是toLua都是市面上有在用到的热更方案.直观上来讲,都可以通过把代 ...
- unity python做热更_[专栏作家]基于ILRuntime的完整C#热更方案
原标题:[专栏作家]基于ILRuntime的完整C#热更方案 好久不见.最近一段时间公司二次创业,实在是忙的脚打后脑勺,有段时间没来跟大家分享心得了,昨天终于有了一个初步的完结,也终于有时间和精力跟大 ...
- Unity3D热更设计:一款基于 HybridCLR的C#热更方案
在这篇文章之前,可以转到我的这两篇博客:C#热更方案 HybridCLR尝鲜:Windows及Android打包.超详细的Unity3D热更新框架,附示例链接,小白也能看的懂_鹿野素材屋的博客-CSD ...
- unity android so热更,惊鸿哥的港湾
是的,没错,前两篇(<如何在Debian中编译Unity Mono生成Android版的libmono.so>.<如何在CentOS/RHEL中编译Unity Mono生成Andro ...
- vb.net 局域网传文件_没网盘咋传输文件?全平台高效传输方案一网打尽!
我们对文件传输,一直有很强的需求.五年前我们使用网盘互相传文件,到了今天网盘的方式不免有些落后.有的网盘还要经过注册.安装.上传下载等等步骤,一不小心文件还会损坏,最气人的是速度上不去啊有木有! 如果 ...
- Unity Android DLL热更
2019独角兽企业重金招聘Python工程师标准>>> 和 Unity Mono DLL加密 有异曲同工之处. 这里是为了能够在Android下热更C#代码 另外一个更高层次的是更新 ...
- 一个近乎完美基于Dubbo的微服务改造实践
网易考拉(以下简称考拉)是网易旗下以跨境业务为主的综合型电商,自 2015 年 1 月 9 日上线公测后,业务保持了高速增长,这背后离不开其技术团队的支撑. 微服务化是电商 IT 架构演化的必然趋势, ...
最新文章
- CSP 202006-1 线性分类器 python实现+详解
- STM32串口发送中断
- 没有java home_【Java安装】必须有JAVA_HOME变量吗
- java的外部引用_Java 调用外部程序
- Nginx反向代理为什么能够提升服务器性能?
- 对于dts的理解和分析
- scala中何时使用下划线_在Scala中使用下划线
- oracle笔试题目及答案,Oracle 笔试题目带答案.doc
- New Bus Route
- 2016第三届科学数据大会诚邀商务合作
- Android 之数据传递小结
- python实现输入三角形边长自动作图求面积案例
- python 内置数据类型之数字
- SAP MM ‘Pricing Date Control‘字段的理解
- Node.js:封装Node通用web容器
- Java枚举介绍_java枚举使用详细介绍及实现
- ACM-经典DP之Monkey and Banana——hdu1069
- Android工程项目打包成SDK(jar或aar格式)
- python可视化计算器_Python tkinter实现简单加法计算器代码实例
- 自定义TxT文档下载