27
2020
02

UNITY3d在移动设备上的一些优化资源的方法



1.使用assetbundle,实现资源分离和共享,将内存控制到200m之内,同时也可以实现资源的在线更新


2.顶点数对渲染无论是cpu还是gpu都是压力最大的贡献者,降低顶点数到8万以下,fps稳定到了30帧左右


3.只使用一盏动态光,不是用阴影,不使用光照探头


粒子系统是cpu上的大头


4.剪裁粒子系统


5.合并同时出现的粒子系统


6.自己实现轻量级的粒子系统


animator也是一个效率奇差的地方


7.把不需要跟骨骼动画和动作过渡的地方全部使用animation,控制骨骼数量在30根以下


8.animator出视野不更新


9.删除无意义的animator


10.animator的初始化很耗时(粒子上能不能尽量不用animator)


11.除主角外都不要跟骨骼运动apply root motion


12.绝对禁止掉那些不带刚体带包围盒的物体(static collider )运动


NUGI的代码效率很差,基本上runtime的时候对cpu的贡献和render不相上下


13每帧递归的计算finalalpha改为只有初始化和变动时计算


14去掉法线计算


15不要每帧计算viewsize 和windowsize


16filldrawcall时构建顶点缓存使用array.copy


17.代码剪裁:使用strip level ,使用.net2.0 subset


18.尽量减少smooth group


19.给美术定一个严格的经过科学验证的美术标准,并在U3D里面配以相应的检查工具

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。