文章目录
- 前言
- 开发环境
- 措施
- 参考链接
- 总结
前言
笔者为VR一体机开发应用,受限于设备,因此需要尽量节省性能开销;当然,优化时机很有必要,尽可能选择开发后期;
笔者遇到的情况是:CPU占用约10%,而GPU占用约99%,帧率在15-20FPS之间。因此,初步定位性能瓶颈在于GPU。
开发环境
unity2020.3.20f1c1、pico neo3 256GB版、visual studio2019
措施
-
使用URP
URP设置文档
-
联系美工手动降低模型面数
这就要联系你们的美工小姐姐,让她们帮忙在面数多而玩家看不到的地方多多下刀。 -
使用polyfew插件降低模型面数
其中,图中1处,当你改动的模型需要确保视觉方面正常时勾选,比如视野内的椅子;而2处则是显示模型有多少面数,缩减百分比。选择好百分比后点击右上角的“Reduce”跟着指示操作即可。 -
使用easy combine插件合并mesh
这款插件用起来也很简单,选中需要合并mesh的相似物体如一群大楼,然后点击2处合并即可;若后续需要单独调整合并好的物体中的某个物体,则点击3处复原后调整。 -
设置静态物体、开启静态合批(static batching)
-
场景渲染——使用灯光烘焙而不是实时光
-
压缩贴图
选择贴图中的安卓平台,推荐在max size中选择512以下的尺寸,然后点击apply。 -
开启材质的GPU Instancing
-
隐藏或删除不需要被玩家看到的物体
-
使用遮挡剔除(Occulusion Culling)
先点击camera中的Occulusion Culling开启功能,然后点击window -》 rendering -> occlusion culling;
然后点击Bake,最后可以在visualization看到遮挡情况。
-
删除多余的相机
参考链接
1、unity性能概念
2、提升帧率的10个操作
3、科学上网
4、科学上网2
Easy Combine 插件下载
PolyFew插件下载
总结
以上就是今天要讲的内容,本文仅仅简单介绍了GPU优化的方式,也希望各位大佬能提出更多解决方式,多多交流互相学习!