unity日常——游戏优化

来源:互联网 发布:头戴耳机 隔音 知乎 编辑:程序博客网 时间:2024/06/06 16:43

unity日常——游戏优化

今天就讲讲游戏中图片的优化
在开发游戏过程中你会发现我的图形界面很简但是为什么还是有延迟?为什吗游戏加载时间那么长?为什吗界面切换那么慢?FPS那么低?
玩游戏的时候电池消耗的快,手机发烫,游戏崩溃等等
这里面的主要元凶就是Draw Call

那…什么是Draw Call

简单地说,Draw Call是一条命令,由CPU向GPU发送的一条命令,去渲染一个网格(Mesh)。这条命令只指定一个网格(Mwsh)是否被渲染/绘不绘制任何材质(Material)信息,在获得命令后,GUP获得了渲染状态的值(材质,纹理,着色器等等),且在你的屏幕中所有的顶点说据通过一些代码逻辑转换成五彩斑斓的像素。
渲染命令基本上做一些数量众多的小任务,例如在屏幕上计算成千上万的顶点的绘制成千上万的像素。
每一个网格使用一个不同的材质将需要一个单独的Draw Call
估计你看的是云里雾里,我也是一样头大。

正片开始

步骤一

首先创建UI界面(这里我就随便建了一个)

这里写图片描述

精灵(Sprite)如下:

这里写图片描述


步骤二

查看Draw Call
按下Play键开始游戏,在按下State按钮

这里写图片描述

然后就回弹出一些关于游戏运行关于图形渲染的说据数据
这里写图片描述

对于我们来说最主要的数据就是“Batches”。降低“Batches”的数值就等同于降低了Draw Call的次数。


步骤三

打开Frame Debugger窗口点击“Enable
这时游戏会暂停,并且显示一些绘制屏幕所需要的“Batches”的数量。

这里写图片描述


步骤四

接下来就是优化了
给Sprite打包成图集
选择你想要打包的Sprite并给这个包命名一个标签(每一个打包在一起的Sprite都要一样)

这里写图片描述

然后打开Sprite Packer窗口
Sprite Packer的介绍和使用请看官网我就不多数了 —— [传送门 ]

点击Pack按钮,这样就把Packing Tag设置为MySprite的Sprite打包成一个图集了。

这里写图片描述


步骤五:运行游戏~~

运行游戏在Stats弹出的窗口中看“Batecher”数据

这里写图片描述

哇!Batches从11变成的3

这一篇主要就讲这一个优化方法,还有好多的优化方法以后在慢慢写。
喜欢的点个关注不迷路…….

原创粉丝点击