unity游戏の优化--UI
2015-01-08 13:08
323 查看
一、UI的优化:尽可能的减少draw call
对于 UI 模块,对NGUI来讲最重要的是 UIAtlas。
要把游戏中用到png ,psd格式的图片做到最大通用。UI图集最好一个;
字体也一个图集,这样一个UI模块至少占3个dc,加一个texture。
为了层次分离清晰,使dc最大限度的合并:UILabel 深度 统一调大15/20 ,这样基本所有的font占的dc都会合并。
建议:
每一个UI制作一个Prefab,对应每一个UI功能脚本~
尽量避免用代码设置UI的位置。
UI动态显示数据之前要判断数据是否存在。
UILabel字体一般都是根据数据读来的。它的文字对其方式要设置好。否则以后文字多了对齐有问题还得调,这些最好一步到位。省的日后还要调整。
建议dc<20
一个游戏中最简单的最常见的就是UI,所以要把这做好做细。
二、Profiler性能分析器
需要时刻关注的的参数:
cpu ---GC Alloc 、Time
GC Alloc记录游戏运行时代码产生的堆内存分配,非常重要的参数,比Time更重要。所以要尽可能的减少GC的产生。
引起GC的分配有以下几种情况值得注意:
GameObject.GetCompont()----尽量缓存组件
Object.get_name() ----如果每一帧都需要比较,可以缓存名字
foreach ----每次foreach会产生一个enumerator
尽可能避免使用LINQ
协程Coroutine ----开启一个协程,至少分配373的内存
String连接 ----使用StringBuilder或String.Format来代替而不是用”+”来进行连接
另外:
StackTraceUtility.PostprocessStackTrace() StackTraceUtility.ExtractStackTrace()
Debug.Log()调试信息造成,这是一个很耗时间的操作。发布的时候尽量去掉。
对于 UI 模块,对NGUI来讲最重要的是 UIAtlas。
要把游戏中用到png ,psd格式的图片做到最大通用。UI图集最好一个;
字体也一个图集,这样一个UI模块至少占3个dc,加一个texture。
为了层次分离清晰,使dc最大限度的合并:UILabel 深度 统一调大15/20 ,这样基本所有的font占的dc都会合并。
建议:
每一个UI制作一个Prefab,对应每一个UI功能脚本~
尽量避免用代码设置UI的位置。
UI动态显示数据之前要判断数据是否存在。
UILabel字体一般都是根据数据读来的。它的文字对其方式要设置好。否则以后文字多了对齐有问题还得调,这些最好一步到位。省的日后还要调整。
建议dc<20
一个游戏中最简单的最常见的就是UI,所以要把这做好做细。
二、Profiler性能分析器
需要时刻关注的的参数:
cpu ---GC Alloc 、Time
GC Alloc记录游戏运行时代码产生的堆内存分配,非常重要的参数,比Time更重要。所以要尽可能的减少GC的产生。
引起GC的分配有以下几种情况值得注意:
GameObject.GetCompont()----尽量缓存组件
Object.get_name() ----如果每一帧都需要比较,可以缓存名字
foreach ----每次foreach会产生一个enumerator
尽可能避免使用LINQ
协程Coroutine ----开启一个协程,至少分配373的内存
String连接 ----使用StringBuilder或String.Format来代替而不是用”+”来进行连接
另外:
StackTraceUtility.PostprocessStackTrace() StackTraceUtility.ExtractStackTrace()
Debug.Log()调试信息造成,这是一个很耗时间的操作。发布的时候尽量去掉。
相关文章推荐
- 三维游戏引擎——Unity 角色模型优化要点续:换肤和导入
- Unity开发IOS游戏的优化建议
- 总结使用Unity 3D优化游戏运行性能的经验
- 总结使用Unity 3D优化游戏运行性能的经验
- 采用Unity快速开发高质量游戏的若干优化建议
- Unity 3D iPhone版游戏优化小技巧
- 【unity】总结优化游戏运行性能的经验
- Unity 3D优化游戏运行性能的经验
- unity 优化心得 (2D游戏)
- unity游戏性能优化 - 贴图优化
- Unity开发IOS游戏的优化建议
- 【转】用 Unity 做 iPhone 游戏之代码优化个人总结
- 【Unity 3D 游戏引擎】NGUI 触摸UI和人物行走冲突的解决办法
- 总结使用Unity 3D优化游戏运行性能的经验
- 总结使用Unity 3D优化游戏运行性能的经验
- Unity开发IOS游戏的优化建议
- [转]总结使用Unity 3D优化游戏运行性能的经验
- Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
- 总结使用Unity 3D优化游戏运行性能的经验