HybridCLR热更新介绍

官方文档
参照视频

HybridCLR介绍

HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案

HybridCLR与ToLua/XLua、ILRuntime有什么不同

在这里插入图片描述

什么是游戏热更新:有热更的游戏更新流程

在这里插入图片描述

游戏热更新的种类

资源热更新:主要通过AssetBundle来实现,在Unity编辑器内为游戏中所用到的资源指定AB包的名称和后缀,然后进行打包并上传服务器,待游戏运行时动态加载服务器上的AB资源包。

代码热更新
1.代码是一种文件,也是一种资源
2.Unity脚本资源以DLL文件的形式存在于磁盘上
3.Unity脚本代码打包以后放在磁盘什么位置?叫什么文件名
4.如何更新Unity脚本代码?

如何打包?

在打包设置面板“Player Setting”里,需要设置相应的值:
1.ScriptingBackend 选择编译方式“IL2CPP”,IL2CPP性能比Mono好
2.Target Architecttures里不勾选“ARM64”
在这里插入图片描述

两种方式打包以后的项目目录结构(IL2CPP方式、安卓)

  • = libmono.so :存储unity底层的一个库
  • Assembly-CSharp.dll:我们写的程序和脚本会形成这个dll
  • libilcpp.so:把Assembly-CSharp相关的程序和c#代码会形成一个c++的动态库,全部被链接到libilcpp.so
    在这里插入图片描述

IL2CPP方式脚本编译流程

  • IL2CPP做的改变由下图红色部分标明
  • 在得到中间语言IL后,使用IL2CPP将他们重新变回C++代码,然后再由各个平台的C++编译器直接编译成能执行的原生汇编代d代码
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/274005.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考 系统架构设计师之回归及知识点回顾(6)

接前一篇文章:软考 系统架构设计师之回归及知识点回顾(5) 10. 边缘计算 边云协同 边缘计算与云计算各有所长,云计算擅长全局性、非实时、长周期的大数据处理与分析,能够在长周期维护、业务决策支撑等领域发挥优势&…

【Emgu CV教程】9.2、形态学常用操作之膨胀

文章目录 一、膨胀1.什么叫膨胀2.膨胀的作用3.膨胀的函数 三、演示1.原始素材2.代码3.运行结果 一、膨胀 1.什么叫膨胀 前面讲的是腐蚀,与其相反的操作,就是膨胀。二值化图片以黑色为背景,白色为前景物体。膨胀就是扩张前景物体的边缘。其原…

Vue:纯前端实现文件拖拽上传

先看一下拖拽相关的事件:dragover、dragenter drop和dragleave 。 dragover事件:当被拖动的元素在一个可放置目标上方时,该事件会被触发。 通常,我们会使用event.preventDefault()方法来取消浏览器默认的拖放行为,以便…

Day36:安全开发-JavaEE应用第三方组件Log4j日志FastJson序列化JNDI注入

目录 Java-项目管理-工具配置 Java-三方组件-Log4J&JNDI Java-三方组件-FastJson&反射 思维导图 Java知识点: 功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用…

Android14音频进阶:剖析关键结构体:audio_track_cblk_t(六十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

【三、接口协议与抓包】使用ApiPost进行接口测试

你好,我是山茶,一个探索AI 测试的程序员。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相…

个人职业规划的制定方法

在竞争激烈的职场环境中,一个明确的职业规划对于个人发展至关重要。本文将探讨我的个人职场规划,包括短期和长期目标,以及实现这些目标所需的策略和行动。 一、自我评估 1.1 职业兴趣:我对市场营销和数据分析领域充满热情&#xf…

备考银行科技岗刷题笔记(持续更新版)

银行考试计算机部分复习 备考的朋友可以加我QQ大家一起交流一下,互相分享备考的笔记和信息。q+1725961691 IEEE 802.11的帧格式 1.1 IEEE 802.11是什么? 802.11是国际电工电子工程学会(IEEE)为无线局域网络制定的标…

RabbitMQ应用场景

1、异步处理 假设想象一下我们做一个商城项目,在用户支付模块中,可能会涉及到其它业务,比如:积分折扣、消费券、短信验证等功能。我们传统的执行步骤是逐步执行,也就是说当用户点击支付 ----> 积分折扣 ----> 消…

Unity类银河恶魔城学习记录9-1 9-2 P89,90 Character stats - Stat script源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Stat.cs using System.Collections; using System.Collections.Generic; us…

svg简单教程

推荐查看这个视频 一小时讲完SVG 简介 scalable 英 /ˈskeɪləbl/ 美 /ˈskeɪləbl/ adj. (计算机) 可扩展的;可改变大小的,可缩放的;可攀登的;可称量的;可去鳞的 vector 英 /ˈvektə/ 美…

CodeSys通过C函数接口调用Qt

建议先查看之前的文章【CodeSys中调用C语言写的动态库】,了解如何创建一个能够被codesys调用的动态库。 假如想要在函数中使用Qt或者第三方库(比如opencv等),可以在其自动生成的makefile文件中设置好相应的参数。 比如我这里就是…

【数据分析】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 数据分析 目录: (一)数据分析介绍 (二)环境搭建 (三)matploatlib绘图 (四)numpy &…

Swarm集群负载均衡的实现方式

目录 1. 背景2. 参考3. 环境4. 概念5. Swarm 网络5.1 Swarm 网络连接情况5.2 外部访问数据包转发流程 6 Swarm集群服务信息7 Swarm集群数据包转发流程7.1 Client发送请求至集群节点9090端口7.1.1 集群节点宿主机Netfilter规则7.1.2 Tcpdump抓包验证结果 7.2 Ingress_sbox下IPVS…

JS 事件捕获、事件冒泡、事件委托

js事件机制在开发中可以说时刻使用,例如dom绑定事件、监听其自身事件等。js事件机制有事件捕获、事件冒泡俩种机制,我们分别说下这俩种机制的使用场景。 一、概念 事件捕获顺序如下: window > document > body > div 事件冒泡顺序…

物联网的商业模式洞察

大约在十年前(2014年11月),全球知名管理思想家、哈佛商学院教授迈克尔波特与PTC前首席执行官吉姆赫普尔曼,在《哈佛商业评论》上联合撰写了一篇备受赞誉的文章,题为《智能互联产品如何改变竞争》。在这篇文章中&#x…

【自动驾驶系列丛书学习】2.《自动驾驶汽车环境感知》学习笔记

《自动驾驶技术概论》学习笔记 致谢:作者:甄先通、黄坚、王亮、夏添 -------------------------------------------------------------------------------------------------------- 笔记目录 《自动驾驶技术概论》学习笔记 1.自动驾驶环境感知概述…

LM2904DT运算放大器中文资料规格书PDF数据手册引脚图参数图片功能概述

产品概述: 该电路由两个独立的高增益运算放大器(运算放大器)组成,内部实现了频率补偿。它们专为汽车和工业控制系统而设计。该电路采用单电源供电,工作电压范围很广。低功耗与电源电压的大小无关。 应用领域包括传感…

网络基础『 序列化与反序列化』

🔭个人主页: 北 海 🛜所属专栏: Linux学习之旅、神奇的网络世界 💻操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌤️前言🌦️正文1.协议的重要性2.什么是序列化与反序列化&…

优雅的记录日志,拒绝打印模糊信息导致bug定位难

想必大家都有过这样的经历:在项目中遇到报错需要紧急修复时,却因为日志信息模糊不清,无法迅速准确地定位到错误源头,这确实让人感到十分苦恼和无奈。 在新入职一家公司并着手修改遗留bug时,经常发现之前的开发者并未记…