DomDomm 发表于 2022-12-17 21:23

Unity项目优化案例一

针对工作中遇到的优化问题,记录一下,给大家优化自己的项目提供一些思路。
公司最近做了一个VR项目。即将交付的时候发现性能问题比较严重
使用环境

unity2018.4.36
cpu i5 10400f
显卡 2060 6g
内存 16G
问题分析解决

程序运行起来每帧时间跑到100毫秒~
优化思路
1.对应电脑上装好开发环境
2.使用Profile进行调试定位性能问题
a.SkinMesh消耗过大。
b.有一个Depth相关的消耗也很大。影响每帧大概10~20毫秒3.SkinMesh比较好定位,就是带动画的模型太多了,处理思路就是根据是否可见,把不需要的动画模型给隐藏掉,需要的时候再打开。
4.深度相关的没查到对应的调用函数,然后看了下调用次数大概在每帧50多次。然后猜测和相机有关,最后定位到是某个功能使用到相机渲染RenderTexture。然后创建了50多个相机。不过这个功能其实不需要相机一直处于激活状态,然后就把相机给改成反激活的状态。
5.通过FrameDebug发现阴影上的消耗也比较多,然后观察了下场景发现物体并没有产生阴影,生成阴影的选项已经关掉了(至于为啥把阴影都关了是另外话题~).然后既然场景当前的效果不需要阴影,但却会有阴影上的性能消耗,就把场景中的方向光上的阴影也给关了。
最终效果

最后效果从每帧100毫秒,优化到大部分场景5毫秒,个别模型动画多的场景12毫秒左右。总共花费时间程序2天,美术2天。
页: [1]
查看完整版本: Unity项目优化案例一