# why牛肉丸优化方案
# 更强的性能
现网的小游戏架构,仅仅提供了WebGL的桥阶层,提供了一个类HTML5环境。
但是现有的架构下做重度游戏,
将游戏引擎中耗时的计算部分及渲染部分下沉至微信客户端,提供比第三方游戏引擎(cocos、 laya、egret)更强的性能。
IOS 上渲染一帧为例,与外网小游戏性能对比(横轴长度代表一帧 JS 层耗时):
# 针对小游戏场景设计的资源系统
牛肉丸优化方案专注于微信小游戏这一个场景,做了许多与unity、cocos等引擎不一样的优化设计。
微信小游戏场景下,代码包需要尽可能小,这样小游戏的启动速度才能更快。
这样,一般来说除了首场景之外的所有的游戏资源,都应该另外异步拉取,与页游比较相似。所以资源的加载速度很大一部分程度上决定了游戏的体验。
因此,牛肉丸优化方案的资源加载系统为这种加载加速做了许多的优化。包括:
- 尽可能减少网络请求数的资源分组策略
- 尽可能利用本地存储空间进行加载加速的资源多级缓存
- 允许优先下载重要资源的优先级管理
- 大幅减少资源大小的资源压缩算法
除了以上这些之外,还提供了详尽的加载时序信息,以作资源的加载分析。
# 功能支持全面,适合从 Unity项目迁移
# UI系统
支持常用UI组件,支持 NGUI 导出
# 材质与渲染系统
支持前向渲染管线,实时阴影等,支持自定义材质
# 动画系统
支持动画状态机、动画混合,支持从 Unity导出
# 粒子系统
支持 Unity粒子系统常用特性导出及播放
# 实体-组件框架
整个优化方案及开发者的自定义代码以组件的形式运行,有完整的实体组件生命周期管理