Unity性能优化 - 内存

检查图片设置

纹理优化一般是检测上述五个区域

Read/Write Enabled:开启Read/Write Enable属性,将允许从脚本(GetPixels,SetPixels和其他Texture2D函数)访问/写入纹理数据,但内存中会额外存储一份贴图数据,会使运行时贴图大小翻倍,如果不需要读取或写入纹理数据,可以把他关闭

Steaming Mip Maps:通过CPU控制,只加载部分Mipmap图片以节省更多的内存及显存空间,如果不需要生成Mip Map,可以把他关闭

Generate Mip Maps:开启Mipmaps可以使远离相机的物体使用较小的纹理版本,这样渲染时,显存带宽压力比较小,使用 mipmap 存储会使运行时贴图大小变成1.33倍,如果摄像机没有大幅度的位移,或者不需要看到一些离着摄像机很远的物体,可以把他关闭

对于不同平台,我们需要对他们进行单独的纹理设置,不要忘记点击对应平台的Override按钮,一般来说有下面两个设置区域

Max Size:我们根据我们所需要的图片尺寸,对Max Size进行设置,部分对画面影响不大的贴图,我们可以减少它的Max Size,降低它的内存占用(PS:所有纹理的长宽比最好是正方形,而且长度值最好是2的整数幂。这是因为有很多优化策略只有在这种时候才可以发挥最大效用。比如我们下面所说的format)

Format:我们一般通过下图所示的纹理格式对此选项进行设置,安卓一般使用ETC和ETC2,iOS一般使用PVRTC

 分辨率优化

部分机型的屏幕分辨率很大,但是硬件性能很差,如果我们是用机器的分辨率进行显示,就会造成游戏性能的大幅度下降,所以我们可以通过江都画面的分辨率,优化游戏性能,但是会造成一定程度上的画面模糊,需要读者在画面和性能之间做些权衡

private void ResetResolution(float y)
    {
        float rate = (float)Screen.width / (float)Screen.height;  //获取屏幕比例
        Screen.SetResolution((int)(rate * y), (int)y, true);
    }

音乐资源优化

 Force To Mono:强制单声道,很多声音为了追求质量设置为了双声道,声音的Size会变大,但是大部分音乐的双声道和单声道并没有区别,所以对于对质量要求不高的音乐,可以点击此选项,设置为强制单声道

 通过降低采样率也可以减少文件和运行时的内存占用,大多数情况下,较低的采样率可以减少文件大小,但是不会明显降低质量,22050HZ是人类语言的常用采样率。

采样频率,也称为采样速度或者采样率,定义了单位时间内从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

引用一个知乎Up的Audio参数设置,大家可以看一下其他的数据设置

Unity音效文件Audio Clip 导入设置 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/353294079

模型优化 

如果不需要在运行时通过脚本动态修改网格,就关闭这个选项

 

 如果模型中没有使用Rig和Animation,也就是人形动画和帧动画,就将上述两个选项设置为关闭状态,有兴趣的朋友可以看一下Unity官网对这几个选项卡的介绍

Model Import Settings 窗口 - Unity 手册https://docs.unity.cn/cn/2020.3/Manual/class-FBXImporter.html

猜你喜欢

转载自blog.csdn.net/HelloCSDN666/article/details/124584790