why牛肉丸优化方案

更强的性能

现网的小游戏架构,仅仅提供了WebGL的桥阶层,提供了一个类HTML5环境。

但是现有的架构下做重度游戏,

将游戏引擎中耗时的计算部分及渲染部分下沉至微信客户端,提供比第三方游戏引擎(cocos、 laya、egret)更强的性能。

image.png

IOS 上渲染一帧为例,与外网小游戏性能对比(横轴长度代表一帧 JS 层耗时): image.png

针对小游戏场景设计的资源系统

牛肉丸优化方案专注于微信小游戏这一个场景,做了许多与unity、cocos等引擎不一样的优化设计。

微信小游戏场景下,代码包需要尽可能小,这样小游戏的启动速度才能更快。

这样,一般来说除了首场景之外的所有的游戏资源,都应该另外异步拉取,与页游比较相似。所以资源的加载速度很大一部分程度上决定了游戏的体验。

因此,牛肉丸优化方案的资源加载系统为这种加载加速做了许多的优化。包括:

  • 尽可能减少网络请求数的资源分组策略
  • 尽可能利用本地存储空间进行加载加速的资源多级缓存
  • 允许优先下载重要资源的优先级管理
  • 大幅减少资源大小的资源压缩算法

除了以上这些之外,还提供了详尽的加载时序信息,以作资源的加载分析。

功能支持全面,适合从 Unity项目迁移

UI系统

支持常用UI组件,支持 NGUI 导出

材质与渲染系统

支持前向渲染管线,实时阴影等,支持自定义材质

动画系统

支持动画状态机、动画混合,支持从 Unity导出

粒子系统

支持 Unity粒子系统常用特性导出及播放

实体-组件框架

整个优化方案及开发者的自定义代码以组件的形式运行,有完整的实体组件生命周期管理