近三个月处理Unity项目对于H5平台的支持,发布在即 ,回顾一下这个优化的过程。
从起步开展工作,一步一步划分工作如下:
1、WebGL平台下的兼容性处理,一些在iOS或者Android原生下的API在Web平台下也补充完整。
2、第三方库的支持,比如一些C++代码的调用。
3、websocket支持。
4、C#相关的IO操作寻找替代方案。通过记录缓存等方式判断文件存在,更换异步加载API读取文件 。
5、启动优化:第三方插件精简,读取xml改为生成代码,并且拆分三阶段加载资源,启动时,loading时,游戏中静默加载。登录页尽快显示,不重要资源游戏中静默加载。定制启动封面,加载动画缓解等待焦虑。
6、资源加载优化:特效模型等划分高低版本,工具一键切换。背景图改为JPG,图片尺寸矫正为4的倍数,不合理图集拆分,提高图集利用率。单个AB不超过2MB。所有lua走AB形式一次性加载,require回调函数内优化较少操作。require按需加载Lua。
最终接入微信后,加上微信插件本身的优化,启动和加载时间控制在10S内完成。