针对URP项目的GPU优化建议(一)


在unity项目中,使用URP渲染管线时,需要针对不同的情况做一些GPU渲染优化,以平衡性能和效果。
请添加图片描述


一、URP Asset

请添加图片描述
针对URP Asset的设置,主要关注:
Lighting
Shadow Resolution :阴影分辨率,数值越大阴影越清晰,但是性能越低,可以针对远近不同的对象设置不同的分辨率;
Per Object Limit:一个场景中可以生效的灯光数量,越小越好;
Shadow Atlas Resolution:阴影图集分辨率,数值越大阴影越清晰,但是性能越低,可以针对远近不同的对象设置不同的分辨率;
Shadows
Max Distance:相机中可观察到最大距离的阴影,数值越大性能越低,满足要求即可;
Cascade Count:阴影级联数,不同距离范围的阴影质量设置,数值越大性能越低,效果越好。

二、ColorSpace

请添加图片描述Gamma:非线性色彩空间,颜色会更还原眼睛看到的色彩,稍微偏暗,性能更好;
Liner:线性空间在计算渲染时可以更真实的还原物理世界的光强度,实现更好的预期。

三、材质合批

请添加图片描述
GPU实例化是一个有效绘制相同网格和材质对象的功能。当多次绘制相同的网格(如草或树)时,期望减少绘制调用。要使用GPU实例化,请转到材质的检查器,并在材质的检查器中单击启用实例化。

SRP Batcher
在这里插入图片描述

SRP批处理程序是在Scriptable Render Pipeline中使用的一个可脚本渲染管道(SRP),它是一个减少渲染CPU成本的特性,仅在Scriptable Render Pipeline中可用。此功能允许使用相同着色器变体的多个着色器set-pass调用一起处理
要使用SRP批处理程序,需要从SRP的Inspector中添加SRP资产。

四、场景烘焙

只针对静态场景的对象,烘焙前需要将对象的状态改为静态。
请添加图片描述
主要关注参数:
Lightmap Resolution:烘焙贴图分辨率,数值越大效果越清晰,但是性能越低;
Max Lightmap Size:Lightmap 尺寸,数值越大效果越清晰,但是性能越低;
请添加图片描述

场景中的主直射光有一个就够了,如果场景灯光无需移动,则选择Baked模式,如场景中灯光需要移动,则选择Mixed混合模式,然后将场景烘焙,经过测试烘焙之后Pass和Shadow cast降低明显,批处理减低明显。


猜你喜欢

转载自blog.csdn.net/weixin_43559607/article/details/135080450