微信小游戏 Unity 深度分析工具发布 | 胡扯发布
随着更多手游团队进入小游戏平台, 我们发现,在近半年的推广产品中,微信小游戏平台中使用 Unity 进行开发的,表现流畅、画面精美的产品越来越多了。
微信小游戏 Unity WebGL 适配方案,基于 WebAssembly技术,可以在无需更换引擎与重写核心代码的情况下将原有 Unity 游戏项目适配到微信小游戏。
Unity WebGL 小游戏适配原理
Unity WebGL 小游戏适配原理图:来自微信官方文档
Unity 导出的 WebGL 包,基于 WebAssembly 技术,支持运行在浏览器环境。
微信底层提供了 WebAssembly 接口支持,打包工具提供了胶水层适配,最终让导出包运行在微信小游戏环境中。
对微信小游戏对 Unity 的支持和限制
目前,微信小游戏对 Unity 的能力支持,已经很强大了,曾老师关注这几点:
- 渲染接口当前仅支持WebGL1.0(相当于OpenGLES2.0),2.0 处于 Beta 测试。
- 在 iOS 14.5 以上,支持 PureTS JIT。
- 支持标准 Lua 与 xlua/tolua,不支持 LuaJIT。
- 不支持多线程,但可以使用异步。
- 不支持 System.File 接口,但可以使用 WX SDK 支持 200MB 存储(最高可以开通 1GB)。
由于小游戏生态玩家对于启动耗时更加敏感,以及 WebAssembly 算力与原生 APP 相比表现较弱, 作为 Unity 小游戏开发者,更应该关注性能与体验调优。
深度分析工具正式版
近期,微信小游戏平台推出了深度分析工具正式版,将工具完整无缝集成进入微信小游戏UnitySDK 官方版本中,进一步方便 Unity 开发者对小游戏进行性能分析和调优。
支持的 Unity 引擎版本:Unity 2021.2~2023.1
根据性能报告中的内存专项->资源列表页,观察内存占用数量。
在 内存专项 > Lua内存追踪 栏目下观看函数调用开销。
录制报告和重要事件标注
支持使用 WXPerfEngine.StartRecordManually 和 WXPerfEngine.StopRecordManually 方法,进行报告的录制。
支持使用 WXSDKPerf.WXPerfEngine.Annotation() 方法,进行重要事件的标注。
1#if ENABLE_WX_PERF_FEATURE
2 WXSDKPerf.WXPerfEngine.Annotation("第一波怪物出生");
3#endif
相关入口和文档
公众号MP平台查看入口:开发支持-->研发工具箱-->性能诊断-->深度分析
性能深度分析工具使用指南
https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/DeepProfileTool.html
微信小游戏性能分析工具使用文档
https://doc.weixin.qq.com/doc/w3_AOEA3AZ-ACcWHpBCbiHSfagf1JFKZ
优化实战:使用性能深度分析工具定位热点
https://doc.weixin.qq.com/doc/w3_AOEA3AZ-ACcPbQwJMi2SEmLa0mc4W
- 文章ID:2991
- 原文作者:zrong(Jacky)
- 原文链接:https://blog.zengrong.net/post/wechat-minigame-unity-analytics/
- 【公众号】曾嵘胡扯的地方:https://mp.weixin.qq.com/s/9psikzJHa6lDAs7ys6Se8w
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。