https://www.cnblogs.com/alan777/p/6204759.html
CPU受限
开启Player Settings中的Graphics jobs。
在Player settings中的Graphics jobs选项决定了Unity是否使用工人线程去执行一些原本需要在主线程或者渲染线程中执行的任务,在支持这个功能的平台上,它能够提供可观的性能提升。如果我们希望使用这个功能,我们应该分别对开启或者关闭此功能进行性能分析,以观察这个功能对性能的提升效果。
发送命令到GPU
1.降低要渲染的对象数量
降低可见模型数量;设置摄像机裁剪平面+雾效;遮挡剔除,适合第一人称,会导致额外的cpu消耗。手动关闭不需要显示的物体,实现自己的遮挡剔除。
2.降低每个要渲染对象的渲染次数
阴影和光照:使用光照烘焙,减少动态光照的计算。设置阴影距离,隐藏不必要阴影。反射探针优化。
批处理:
动态批处理:)条件苛刻,对顶点数要求很高,对有法线贴图的模型要求在150顶点以内 ,最低要求也要在900以内。缩放也有严格要求,动态的将网格合并)。需要CPU每帧动态的合并网格。
静态批处理:将不会动的静态物体,网格合并,需要耗费大量内存,不过CPU压力小。
GPU instancing:勾选材质中的GPU Instancing,即可开启。对于使用同一网格和同一材质的物体,全都使用一个网格渲染。对缩放和顶点无要求,材质参数也可以不同。(适用于拥有大量相同物体 )
纹理的小图集合并。
手动合并网格,缺点是可能会导致原本可以被剔除的物体不再被剔除。
3.蒙皮的优化
4.优化主线程
主线程脚本压力大的同时,也进行复杂的渲染操作。在这时可以考虑优化主线程 脚本。
GPU限制
填充率:降低分辨率,优化shader,透明物体优化,屏幕后处理优化。
显存带宽:压缩纹理。Mipmaping
顶点处理。模型减面优化。使用法线贴图,代替精细模型。Lod,降低顶点shader复杂度。