Unity ILRuntime项目优化的若干建议

Unity技术开发干货 专栏收录该内容
51 篇文章 253 订阅 ¥99.00 ¥19.90

前言

关于Unity项目的优化点,有很多博客介绍过,我也曾经发过很多,今天呢把一些具体的数据拿出来和大家分享

优化测试点

测试1

foreach 和 for循环的比较

测试代码/ gc ms/1w次
foreach循环遍历数组 gc:1.0MB 30ms
for循环遍历数组 i<list.Length gc:0B 14.05ms
for循环遍历数组 length缓存 gc:0B 7.9ms
        public static void TestListLoop()
        {
   
            if (testLoopList == 
  • 2
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
<p>本课程主要是针对ILRuntime设计一个独立的脚本热更新框,框架的优势:</p> <pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; overflow-wrap: break-word; color: #616161; background-color: #f5f5f5; border: 1px solid #cccccc; border-radius: 4px;"><strong><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: inherit; color: inherit; background-color: transparent; border-radius: 0px; padding: 0px; white-space: pre-wrap;">1.将代码热更脱离Assetbundle资源热更,独立的部分更适用于各种不同的框架。 2.加快项目的逻辑更新,bug修复.(后期修bug,多数情况下并不用动到资源,只需要更新脚本代码,无需重走资源打包发布流程,大大提升效率) 3.提供热更模式和正常开发模式的快速切换接口,可以让队友像平常一样去开发. 4.不依赖市面上的任何AB框架,完全兼容市面上各种不同的AB框架. 5.重点:希望通过它,帮助你学习、了解ILRuntime真正在项目中的应用.</code></strong></pre> <p>框架的将提供以下这些接口,这些接口将从0开始,在Unity里将C#脚本编译成dll,然后将dll放到服务器上,再将dll下载下来,进行加载,到最后从Unity主工程调用热更新的代码逻辑.</p> <pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; overflow-wrap: break-word; color: #616161; background-color: #f5f5f5; border: 1px solid #cccccc; border-radius: 4px;"><strong><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: inherit; color: inherit; background-color: transparent; border-radius: 0px; padding: 0px; white-space: pre-wrap;">1.Create hotfixdll接口 将热更部分的代码 编译成dll 生成dll版本配置(MD5) 2.更新对比接口 本地跟服务器的dll进行版本对比 3.下载热更dll 下载dll本身的文件 下载版本记录文件 4.加载热更dll 加载dll 实例化:AppDomain 初始化: 注册跨域继承适配器 注册委托适配器 LitJson重定向 调用性能优化(CLR绑定功能) 调用热更接口Hotfix.HotfixApplication.Main 进入热更逻辑 5.ILMonoBehaviour 用于监听组件的生命周期,实际是桥接(调用)热更的逻辑 Awake Start Enable Update LateUpdate ....... 6.添加其他常用的库 DOTween LitJson Spine Google.Protobuf TextAnimation 可以根据上面的方式,自行添加依赖的库...</code></strong></pre> <p> </p>
相关推荐
<p> </p><p style="font-size:.95rem;"> ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新 </p> <a href="http://ourpalm.github.io/ILRuntime/public/v1/guide/index.html#ILRuntime%E7%9A%84%E4%BC%98%E5%8A%BF"></a>ILRuntime的优势 <p style="font-size:.95rem;"> 同市面上的其他热更方案相比,ILRuntime主要有以下优点: </p> <ul style="font-size:.9rem;"><li style="font-size:1em;text-align:left;color:#525252;"> 无缝访问C#工程的现成代码,无需额外抽象脚本API </li> <li style="font-size:1em;text-align:left;color:#525252;"> 直接使用VS2015进行开发,ILRuntime的解译引擎支持.Net 4.6编译的DLL </li> <li style="font-size:1em;text-align:left;color:#525252;"> 执行效率是L#的10-20倍 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 选择性的CLR绑定使跨域调用更快速,绑定后跨域调用的性能能达到slua的2倍左右(从脚本调用GameObject之类的接口) </li> <li style="font-size:1em;text-align:left;color:#525252;"> 支持跨域继承 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 完整的泛型支持 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 拥有Visual Studio的调试插件,可以实现真机源码级调试。支持Visual Studio 2015 Update3 以及Visual Studio 2017 </li> </ul> _____________________________________________________________________________________________________________ <p> <span style="font-size:24px;">本课程带领大家极速的上手ILRuntime中,让大家学会在Unity如何快速集成ILRuntime热更新技术~</span> </p>
<ul style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> <li> <span>Tensorflow2.0介绍:</span> </li> </ul> <p style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> tensorflow是GOOGLE在2015年底发布的一款深度学习框架,也是目前全世界用得最多,发展最好的深度学习框架。2019年3月8日,GOOGLE发布最新tensorflow2版本。新版本的tensorflow有很多新特征,更快更容易使用更人性化。但是老版的tensorflow程序在新版本中几乎都无法继续使用,所以我们有必要学习新版tensorflow2的新用法。 </p> <ul style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> <li> <span>课程介绍:</span> </li> </ul> <p style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> 我们的这门课程适合小白学习,也适合有基础的同学学习。课程会从0开始学习,从python环境安装,python入门,numpy,pandas,matplotlib使用,深度学习基础,一直讲到tensorflow基础,进阶,项目实战。不管你是0基础小白,想进入AI行业,还是有一定基础,想学习最新的tensorflow2的使用,都适合我们这门课程。 </p> <ul style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> <li> <span>讲师介绍:</span> </li> </ul> <p style="color:rgba(0,0,0,.560784);font-size:14px;background-color:#FFFFFF;"> 覃秉丰,物理系毕业转AI行业,想转行同学可以找我聊聊。机器学习、深度学习神经网络领域多年研究开发授课经验,精通算法原理与编程实践;曾完成过多项图像识别、目标识别、语音识别等企业项目,一线实战经验丰富;长期为多家包括世界五百强在内的大型企业总部做人工智能技术内训服务(中国移动、中国银行,华夏银行,中国太平洋,国家电网、中海油等)。上课特点:公式尽量一个一个符号推,代码尽量一行一行讲,希望所有人都能学有所得。 </p>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页

打赏

PassionY

你的赞同是对我的鼓励

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值