位置: 编程技术 - 正文

unity3d移动平台性能优化专题16:性能优化实战之20个复杂单位战斗(unity移动端教程)

编辑:rootadmin

推荐整理分享unity3d移动平台性能优化专题16:性能优化实战之20个复杂单位战斗(unity移动端教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity移动游戏开发,unity3dwasd移动,unity 移动应用开发,unity3d物体移动代码,unity移动ui,unity3dwasd移动,unity 移动应用开发,unity移动ui,内容如对您有帮助,希望把文章链接给更多的朋友!

一直秉持着性能最优的原则,目前我们的3d游戏即使在红米上也能够到达平均帧,最低帧的水平。但这次有一个功能是一个大问题,我们平时战斗都是5v5,但这次需要做一个v,理论上复杂度*2,时间也应该*2.

帧,那么*2后应该是帧左右。但遗憾的是性能这东西并不是简单的乘法,而是超越一定瓶颈后会指数下降。果然,在红米上只有帧,而且体验会有问题。那么根据前面的全部性能优化的专题,我们来看下如何针对性的去解决。

1.分析性能下降的最重要原因,发现监视器中显示的是渲染部分,以前个单位,现在个单位,大概多了几万个面,导致突破了瓶颈。那么这个是硬性指标,我浏览了我们所有的场景,发现大部分场景都在k个三角形左右,但是我也找到了一个不错的场景,只有k,我首先的策略就是更换场景,将场景换成这个k的。和策划商量后,策划同意了。ok,马上修改进行测试。

ok,结果出乎意料,最后确实发现可以维持在帧,但战斗过程中还是只有帧。看来这还远远不够,我不得不继续研究。

unity3d移动平台性能优化专题16:性能优化实战之20个复杂单位战斗(unity移动端教程)

2.仔细看了下,&#;乎渲染上已经不是太大问题,那么毫无疑问,就是单位过多引起的,有两种可能,一个是脚本AI执行*2,一种是特效数量*2.不管是哪一种,&#;乎都是只能通过逻辑优化了,本来走路Ai是很复杂,但现在鉴于人过多,只能简化走路ai,直接直走,然后减少ui上的drawcall,进行新一轮的测试。

这样之后,战斗过程大概也是在帧-帧之间,&#;乎还可以接受,但体验有问题,由于我采用AI排队策略,现在人数太多,导致AI执行变慢,比如你应该碰到人要攻击了,但由于你的AI在排队,你没办法马上攻击,只能等待甚至继续跑,但这是无法接受的,而且我发现只有一开始会这样,那么我大致推论,只有一开始的时候由于JIT等原因导致比较卡,所以帧率很低,大概只有帧,这个时候能过被执行的AI数量并不多,个人,人人都是非常着急要攻击的。但是我的队列清除速度是5,我认为这是一个比较合适的&#;,如果增加到,当然每一个人都会攻击,但是这样排队的意义就没有了。

而且测试了一下,发现增加排队的效果微乎其微,这样就很奇怪了,我假设AI执行区间是0.2s,速度是1.2m,两人相向而行,就是0.5m,而两人的攻击距离是1m,那么理论上如果是实时执行,是不会有这个问题的。那么说明就不是实时执行的了。仔细一想,是这样,我的AI执行顺序是,首先每隔0.2s发送一个AI请求,假设运气不好,那么已经经过0.2s了,然后我发送了一个AI请求成功,然后队列中已经有个单位,我不得不等待4帧,现在一帧ms,也就是0.s左右,那么就是等待了0.s,接下来,执行AI,发现要切换到攻击状态了,然后再次发送一个请求,同时重复上一个过程,这样就会经过整整0.7s的时间,这样的话就是夸张的1.m,远远超出了攻击距离范围。然后通过修改队列,将0.2修改成0.1,适当增加距离,ok,感觉还可以。

最后还是适当接受几个卡主的情况,毕竟体验上还是要好一些。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Unity3d_NGUI和UGUI的学习 由于之前刚入门的时候,应Unity3d整体发展的要求我们自学了UGUI(相对来说UGUI比NGUI做得更好一些,后面会有2者对比),但是后来公司要求使用NGUI,所以我

Unity3D读取XML文档信息 C#中可以用XmlDocument类操作Xml文件例如要读取如下Xml文件1root2personname=WangYao3age/age4/person5personname=Jobs6age/age7/person8/root程式如下1XmlDocumentdoc=newXmlDocument();

UnityC# MD5验证 孙广东.6.数据经网络传输后会变得非常不安全,最简单有效的解决方案是给数据加一个密钥,使用MD5算法算出校验码,服务器收到数据和校验码后

标签: unity移动端教程

本文链接地址:https://www.jiuchutong.com/biancheng/369187.html 转载请保留说明!

上一篇:Unity5.0新特性介绍IL2CPP内部构建(unity2019新功能)

下一篇:Unity3d_NGUI和UGUI的学习

  • 房屋出租需要交税多少起征
  • 小规模开票超过五百万元,会自动升为一般纳税人吗
  • 哪些资产损失向银行贷款
  • 关联企业间借款利息扣除规定
  • 税务证需要多少费用
  • 平均股东权益在利润表中怎么看
  • 销售货物和劳务的税率
  • 已申报未导入是申报成功了吗
  • 客运地方税务局监制发票还能用吗?
  • 业务人员差旅费为什么不计入投资性房地产成本
  • 某超市从电器生产厂购进一批电器
  • 一般纳税人转登记为小规模纳税人
  • 超市费用能否税前扣减?
  • 增值税广告服务包括哪些内容
  • 在建工程购买的设备计入哪个科目
  • 销售货款会计分录怎么做
  • 一般纳税人如何零申报
  • 股息红利个人所得税扣税失败
  • 个人在电商平台购买跨境商品需要缴纳什么税
  • 增值税留抵税额抵减欠税
  • 服务外包合同印花税
  • 跨季度的发票怎么冲销
  • 所得税清算时坏账怎么算
  • 季度奖金个人所得税怎么算
  • 票据质押放流贷的风险归谁
  • 家具上的木蜡油味去除
  • 质押已至票据到期日
  • 在php中使用什么获取文件的修改时间
  • win10双系统删除linux
  • 汇算清缴审计报告收费标准
  • linux做raid命令
  • php数组函数有哪些
  • 其他应付款期初余额在哪方
  • 预算周转金会计怎么做账
  • 非货币性资产对外捐赠企业所得税处理
  • phpstudy安装配置
  • 设备销售合作协议书范本
  • thinkphp教程
  • 购买车辆的进项税怎么抵扣
  • 农药免税政策文件有哪些
  • 企业收到工程款会计分录
  • 帝国cms下载
  • zabbix安装部署
  • sqlite3 top的查询及limit语法介绍
  • 企业汇兑收益所得税税率
  • 金税盘已作废发票可以取消吗
  • 被投资公司注销把钱转到投资公司怎么做帐
  • 公司买车可以抵扣企业所得税吗
  • 以前年度损益调整怎么结转
  • 银行多扣了钱法律是怎么判
  • 公司在建厂房图片大全
  • 自建厂房会计处理
  • 应交税金包括哪些税费
  • 偷税漏税追溯年限怎么算
  • 销售开票怎么做会计分录
  • 开户一定要去银行吗
  • 公司买护肤品发票如何入账
  • 残疾人就业保障金征收使用管理办法
  • 会计工作的基本步骤和主要工作
  • mysql安装教程5.5安装好了在哪使用
  • 完美解决英语怎么说
  • windows有哪些
  • linux系统ftp服务
  • windows7无法启动怎么修复
  • backtrack5教程
  • win10系统怎么设置不锁屏和休眠
  • win8 开始
  • 安装ghost win7
  • Metaio in Unity3d 教程--- 一. 搭建环境,运行官方案例
  • onclick和onclientclick
  • Extjs的FileUploadField文件上传出现了两个上传按钮
  • 编程用到的所有函数
  • 笔记本电脑没有鼠标怎么多选文件
  • 点击android
  • three.js typescript
  • 安卓中textview
  • python记录运行状态的模块
  • 余额宝出现问题怎么办?
  • 小微企业减半征收房产税
  • 神马电力几号发行
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设