Unity日常记录 - QualitySettings 性能设置
Posted huangzongyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity日常记录 - QualitySettings 性能设置相关的知识,希望对你有一定的参考价值。
unity打包时,可通过QualitySettings优化图像性能,这是最常设置也是最明显的图像性能体现
设置图形质量的水平,一般来说,质量是以牺牲性能为代价的,所以最好不要追求移动设备或旧硬件的最高质量,因为它会对游戏产生有害的影响。
在Edit->Project Settings->Quality设置
默认6个等级,也可自行配置。根据项目的需求,在低端或者高端机,选择等级
Rendering
Pixel Light Count 表示渲染使用的像素灯最大数量 ,如果有更多的光照亮一个物体,最暗的一个将作为顶点光源被渲染。设置1即可 高端机可设置1以上。
Texture Quality 纹理质量 有四个选项,分别为FullRes完整分辨率、HalfRes二分之一分辨率、QuarterRes四分之一分辨率、EighthRes八分之一分辨率,低分辨率纹理的处理开销低,低端机推荐使用HalfRes,高端机可以选择完整分辨率FullRes。
Anisotropic Textures 各向异性贴图,如果使用各向异性贴图这将选项将激活.此选项包括:禁用,每张贴图和总是激活。
AntiAliasing 反锯齿,这设置反锯齿的级别,包括:2倍,4倍和8倍多重采样. 级别越高锯齿越小,吃显存而不吃CPU
Soft Particles 软粒子,粒子是否使用软融合? 作用于粒子系统
Realtime Reflection Probes 实时反射探头,在游戏期间是否更新反射探头? 作用于反射探针
Shadows
Shadows 阴影类型,禁用、硬阴影、硬和软阴影
Shadow resolution 阴影分辨率,阴影可被渲染为几个不同分辨率:低,中,高和非常高.更高分辨率更高处理开销(即:会较卡)
Shadow Projection 阴影投射 这里有两种不同的方法用于投射来自一个平行光的阴影.
Close Fit 紧密配合:渲染高分辨率阴影但当摄像机移动时它们有时会有轻微的晃动.
Stable Fit 稳定配合:渲染低分辨率阴影但它们不会随着摄像机移动而出现晃动.
Shadow Distance 阴影距离,离摄像机多远内的阴影为可见的.超过此距离的阴影将不会被渲染.
Shadow Near Plane Offset 在平面附近偏移阴影量 默认就行
Shadow Cascades 阴影串连,影子级联的数目可以设置为零,二或四。更多的级联提供了更好的质量,但以牺牲处理开销为代价
Other
Blend Weights 混合权重,在动画中影响给定顶点的骨骼数。
VSync Count 垂直同步计数,呈现可以与显示设备的刷新速率同步,以避免出现”画面撕裂”。每个垂直空白(Vspace)、每秒钟垂直空白或根本不同步。
LOD Bias 细节级别偏移,细节级别的选择基于一个对象在屏幕上的大小.当大小在两个细节级别之间时,选择偏向更少细节或更多细节这两种模式都可以.当它设为0到1之间时它倾向于更少细节.设置高于1倾向于更多细节.例如,设置层次偏移为2并把它的距离改为50%,
当前细节仅改变25%.
Maximum LOD Level 最大细节级别,用于游戏的最高细节级别
Particle Raycast Budget 粒子光线投射预算,用于粒子系统碰撞的最大光线投射数量
Async Upload Time Slice 异步上传时间片,用于将缓冲纹理上传到GPU的CPU时间(以毫秒为单位)。
Async Upload Buffer Size 异步上传缓冲区大小,异步上载缓冲区的MB大小。
解释一些现象及概念
画面撕裂
显示设备上的图片不是连续更新的,而是定期更新,就像Unity中的帧更新一样。然而,Unity的更新并不一定与显示同步,所以Unity有可能在显示仍在渲染前一个帧时发布一个新帧。这将导致在发生帧变化的屏幕位置出现一个称为“撕裂”的视觉。
可以将Unity设置为只在显示设备不更新的期间切换帧,即所谓的“垂直空白”。VSync Count -> Vspace
Soft Particles 软粒子
软粒子淡出附近的交叉与其他场景几何。这看起来更好,但是它的计算成本更高(更复杂的像素着色器),并且只在支持深度纹理的平台上工作
以上是关于Unity日常记录 - QualitySettings 性能设置的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D日常BUG记录Unity打包运行出现:PlatformNotSupportedException该平台不支持此操作的解决记录
日常记录unity3d OnTriggerEnter 和 OnCollisionEnter (2D) 的区别