Unity - 2D游戏中掉帧严重问题解决
目的:解决unity2D中游戏掉帧严重问题
这个问题的出现一开始我并不知道什么原因,于是在unity-profiler中寻找答案。
一开始我发现这个问题
然后我在网站上搜索”Animator.Update掉帧“现象
找到了:http://answers.unity3d.com/questions/689612/
答案却不能解决我的问题。
后来开始自己建场景测试,经过多番测试后发现:游戏掉帧是因为要加载物体的缘故(其实看到loading ReadObject早该想到的),因此,只要在游戏的过程中不加载预置物体就行了。于是就有了下面的解决方案。
解决方案:
一:首要的当然是利用对象池技术来管理你所有的动态物体。
二:在游戏开始之前需要预先生成所有需要最大可能数量的2D物体(包括动态加载的UI)。这样做就会有另外一个问题,既然需要最大可能数量,那么会有可能加载的东西过多使游戏在设备上内存爆掉以致游戏无法正常运行。所以这个操作伴随着另一个细节操作
1:游戏中如果存在可以复用的共同体尽量采取复用(其实这样也方便管理)。
2:游戏中的大部分资源浪费在UI Animation Dirty Scence Objects,目前只能尽量避免使用2D的Animator,效率实在不如人意(这个部分原因不是很清楚,欢迎大神评论指点说明):https://forum.unity3d.com/threads/ui-animation-performance-dirty-scene-objects.320220/
三:(建议)如果可以,请在做2D游戏的时候统一使用2D Sprite,不要使用GUI,这样会好很多。
至此:游戏已经流畅很多了,如果有发现其他问题再来补充,也欢迎其他发现问题或者有更好的解决方案的人补充评论。
如有问题欢迎随时批评指正。
Unity - 2D游戏中掉帧严重问题解决相关推荐
- unity 2D游戏开发 制作帧动画的两种方法
本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...
- Unity 2D游戏开发教程之游戏中精灵的跳跃状态
Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...
- [Unity学习笔记]2D游戏中的触碰/OnMouseDown
[Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...
- 【Unity】Unity 2D游戏开发(一)U2D基础功能
文章目录 Unity 2D游戏开发基础知识 Animation动画 SortingLayer层排序 Physics 2D物理2D Rigidbody 2D刚体 示例 1.点击鼠标发出子弹 2.子弹打中 ...
- Unity 2D 游戏开发解决方案大全
Unity 2D 游戏开发解决方案大全 一些官方腔 这篇文章会是一个大纲模式,致力于,为刚入坑的小白,对于一些常见的 Unity 2D 开发问题给出解决方案(啊,尤其是我) 一些方案可能并非最优解,但 ...
- unity3d 2D游戏中摄像机投影类型
我们盘点一下unity3d 2D游戏中必备的几个元素. 摄像机:无论是3D游戏还是unity3d 2D游戏摄像机都是非常重要的属性,移动摄像机即可更改屏幕中显示的内容,游戏地图的坐标永远都不会发生改变 ...
- Unity 2D游戏开发教程之摄像头追踪功能
Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...
- Unity 2D游戏开发教程之为游戏场景添加多个地面
Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...
最新文章
- pytorch神经网络之卷积层与全连接层参数的设置
- Behavioral模式之Memento模式
- 浅谈Base64编码[转]
- Java比较器之Comparable接口与Comparator接口的使用
- jdbc事物提交,回滚不起作用的解决方案
- 这是一个关键……可是这个门槛我上不去了
- 远程linux服务器中安装jupyter通过本地浏览器访问使用
- c语言同余法随机数,线性同余法取随机数
- SpringBoot的幕后推手是谁?
- 阿里云大数据工具,让海底捞更懂你
- 北京人工智能产业联盟成立,百度CTO王海峰出任联盟理事长
- 蒸妙集团把中药熏蒸以现代科技结合中医古法用于疏通身体的“堵”
- x64枚举DPC定时器
- 现代循环神经网络-1.门控循环单元(GRU)【动手学深度学习v2】
- 翻译辅助软件(CAT)OmegaT在Windows平台上的安装与使用
- 电子信息科学与技术考研考计算机,电子信息科学与技术专业考研需要考哪些科目,有哪些......
- 视频抓图(有硬编码解码)一获得解码后数据
- Ubuntu使用linux-wifi-hotspot创建WIFI热点
- p2psearcher4.0 绿色版下载
- 推荐一款免费又好用的客户管理软件