unity优化—UI优化技巧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
unity优化—UI优化技巧
界⾯操作⼀般会触发UI的开关或者隐藏显⽰,必然会造成UI重建。
1.避免Active 和DeActive ,⽽采⽤控制Canvas组件的激活与关闭。
2.不需要参与点击事件的Canvas取消激活Graphic Raycaster 脚本。
3.仅⽤于显⽰的图⽚或者⽂本禁⽌勾选Raycast Target 脚本。
4.持续性的UI动态效果特效,最好采⽤特效的⽅式制作,脱离UI系统。
5.动态合静态的UI 要分开,分别挂上canvas。
6.适当对UI界⾯做缓存,保证再次打开更快。
7.界⾯初始化代码部分加上Profiler监测,统计代码效率。
8.将复杂的界⾯拆成多个界⾯,⽐如Tab页点击切换时再动态加载。
9.控制⼀帧内加载UI的数量,做好分帧加载策略。
对⽐全屏界⾯的UI界⾯。
可以关掉3D摄像机,没有3D部分的渲染,效率必然会提升。
战⽃洁⾯奶是战⽃时玩家可操作的界⾯,也是游戏中最敏感的界⾯,只要⼀丁点的额卡东玩家就能明显感知到,假设游戏战⽃保持45FPS,那么留给每⼀帧的时间只有22ms,留给UI的只会更少。
1、通过Profiler查看UI的渲染耗时,到底是卡在GPU还是渲染上。
2、左边接受任务框或者右上⽅活动的UI转圈动画,最好⽤粒⼦特效来做。
3、头顶⽂字称号和冒⾎伤害数字(1)最好不要使⽤UI 系统,使⽤SprteRenderer 和3DText实现。
(1)使⽤UI系统的缺陷:摄像机位置⾓度发⽣变化需要实时修改UI的位置,必然会造成⽹格合并,⽽且UI系统本⾝效率没有3D的⾼。
4、图⽂混排聊天,⼀帧只加载⼀个,避免消息太多造成卡顿。
5、技能CD转圈不要每帧都更新,并且套上新的Canvas.
6、界⾯中显⽰倒计时,⼀般最⼩单位是秒,最好不要每⼀帧都计算。
7、战⽃界⾯上左,上右、下左、下右、中左、中右、中间都要挂上不同的canvas,避免⽹格重建影响太多。
8、主界⾯⾸次打开如果⽐较慢,会影响Loading条的等待时间,可以考虑分帧加载UI。
⾮战⽃界⾯要⽐战⽃界⾯的效率要求低⼀些,保持在30FPS就可以。
1、⾮战⽃界⾯最好设计成全屏UI、打开时将战⽃的Camera隐藏,提⾼效率
2、重点关注游戏对象的Active和 DeActive的数量
3、界⾯上显⽰3D模型做好分帧加载
4、滑动列表的滑动效率需要重点关注
5、⽂本组件建议使⽤Text Mesh Pro。