跳到主要内容

简介

微信小游戏环境与浏览器环境类似,但又不完全一样。为了更好地支持微信小游戏开发(环境适配、性能优化),Unity为微信小游戏做了特殊的支持与优化(当前版本:2021.2.5f1c303(团结backport)):

  • 优化运行时内存
    • 优化IL2CPP运行时内存(案例1: 63.9M->33.1M, 案例2: 11.1M->6.5M)
    • 提高DynamicVBO对象池复用(针对某些案例,可以大大降低粒子内存开销)
  • 优化绘制
    • 支持WASM SIMD指令,提升向量计算的性能,对mesh skinning有一些提升(案例:200个charactor,总计200万左右顶点,Skin weights为4,在iphone12上frame time从50ms提升到32ms)
    • 在WebGL2上支持GPU Skinning(提高帧率、缓解发热)
    • Shader相关优化(URP项目开启WebGL via Metal时,某些案例帧率可提高一倍以上)
    • 优化渲染管线,减少不必要的GL调用
    • 提高资源复用率,降低带宽及功耗
  • 优化异常处理
    • 加速游戏启动
    • 降低每帧CPU开销,减少不必要的wasm<->js相互调用
  • 资产轻量化
    • unity default resource: 3.5M->0.4M
    • 支持微信宿主提供中文字体
  • 增强Memory Profiler功能
    • 为Detailed View增加MemLabel选项
    • 支持统计Il2Cpp运行时内存
    • 在WebGL平台增强AssetBundle内存统计,可以看到更完整的内存占用
  • 新增实用工具
    • AutoStreaming,自动拆分资源,自动按需下载
    • 模型导入默认材质替换工具,剔除AssetBundle中残留的大量重复的默认材质
    • AB依赖分析工具,帮助分析、优化AssetBundle分包
  • 简化小游戏打包操作
    • 与微信小游戏SDK互动,自动填写参数,上传CDN文件
  • 其他
    • 优化UnityWebRequest,跳过url正则检查

详见: Release notes

特别说明:2021版本这些支持/优化还在WebGL平台上。团结引擎 新增专属 微信小游戏平台,支持Dotnet Wasm,以及更多的性能优化和Profiling功能;支持Android,iOS等更多平台,版本持续迭代更新。

案例

我叫MT2(回合战斗)旅行串串(休闲)谜题大陆(SLG)热血神剑(MMO)

更多案例参见https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/ShowCase.md