一个近乎完美的 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 架构演化的必然趋势, ...
最新文章
- java 同步转并行_Java线程与并行编程(二)
- ios php 序列化,PHP常见的序列化与反序列化操作实例分析
- 【安全报告】揭秘创建进程时ebx为什么指向peb的答案
- flex image 控件显示bmp 格式图片
- 汉诺塔算法python_经典算法:汉诺塔
- 简 易 版 的 进 程 池 模 型 学 习
- Linux: terminal 终端生存指南
- mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
- 数据库的高级SQL特性
- 【Hoxton.SR1版本】Spring Cloud Ribbon负载均衡服务调用
- 易能变频器说明书故障代码_易能变频器报警报故障代码维修技术指导
- Java内存模型——《深入理解Java虚拟机》笔记
- PS里面如何批处理图片
- 华为U5800刷机,Root权限
- Day08——字符串匹配、小结
- 山东新高考604分怎么报计算机专业,山东2017高考604分适合报考哪些211学校
- 银行利息计算公式推导(存款,贷款)
- 诺兰回归,方舟渡劫——短信登录京东青龙
- Avazu_ctr_prediction 数据集之Avazu_x4.zip介绍
- pycharm找不到conda可执行文件怎么办?
热门文章
- 唱吧android逆向加密算法笔记 此文章已做脱敏处理不会对原厂家app安全构成威胁,仅供学习
- 手牵手带你安装zookeeper
- windows10 下 Haskell 环境搭建2020
- Incompatible pointer types assigning to ‘id<PHPickerViewControllerDelegate> _Nullable‘ from ‘Class‘
- 跨境电商人要知道的知识产权侵权防范小知识
- 项目:文件搜索助手(FileSeeker)
- 关于JavaScript面向对象
- 3dmax全套黄金自学教程
- Python制作卡点视频
- 不要浮躁,获得充实感