abaojin 开发工程师

unity 项目优化

2019-03-22

逻辑优化

  • 网络模块

    网络层消息分组处理,比如聊天组和逻辑组 网络层消息组分帧处理,减少网络消息单帧吞吐量 控制网络层消息优先级队列处理

  • 界面模块

    界面管理分组管理 界面开发必须通过事件机制解耦 界面导航采用堆栈方式 界面关闭应分为:返回和关闭(返回代表返回栈顶元素,关闭直接返回主界面) 界面关闭指定到跳转界面同样入栈

    梳理界面界面开发流程,界面开发不高效,且缺少通用型组件。

  • 资源管理

    资源Bundle管理 资源Asset的管理

    资源池策略(引用计数或反向依赖) 资源加载和卸载 资源卸载下载一定通过Unload(true)方式卸载

    资源打包策略(主包和依赖包方式) 资源打包只关心依赖图集、贴图

    主资源通过资源清单方式维护

  • 配置数据模块

    数据生成数据高效数据文件(文件格式和二进制格式) 数据对象生成一定不能暴露出可修改静态配置数据可能

  • 版本自动化

    高效使用的版本资源化规划 版本打包脚本实现,建议使用Python 版本部署参数配置(版本号,CDN服务器,是否打开日志,平台等) 版本部署参数应分为不同平台 自动化工具可统一继承Jenkins平台

  • 客户端Tick管理

    不同系统底层心跳管理必须有先后顺序 系统心跳管理必须可以通过参数控制,便于性能调优

  • 项目适配方案

    适配方案应项目初期确定 项目适配配置文件应分为不同平台不同配置 所有适配参数应该统一由设置模块调用

  • 对象池方案

    普通对象缓存池管理方案 带类型的对象池管理方案

  • 项目SDK和Device

    SDK需要在客户端封装成统一的接口,不同平台不同实现 设备信息也需要封装成统一接口,不同平台分别实现

  • 音效方案

    音效需要分组播放

  • 动画优化

    控制动画的更新类型,一般是主角是一直更新,其他的动画是在视野范围内更新 动画状态机的动画剪辑动态替换

  • 特效打包

    所有的特效作为主包,贴图按照依赖关系打包

  • 单元测试

    根据游戏类型定义资源游戏单元检测框架,主要是为了美术检测资源 定期进行性能检测 兼容性检测 压力检测

  • 场景优化

    Instance 技术 显示对象的权限管理,隐藏应该是所有的逻辑也隐藏 显示对象更新权限管理,统一由显示对象管理器控制

工具优化

  • 日志系统
  • 资源打包
  • 资源规格检查工具
  • 整理目前游戏存在工具(常见网格编辑,动画编辑,界面导出,配置生成等)。

规范优化

  • 程序编写上规范(编码,注释,结构,注意事项等)。
  • 美术资源制作上规范 (制作方式,目录结构,命名规范等)。

Similar Posts

评论