Version: 1.7
语言 : 中文
小游戏开发
Wasm 内联选项优化

Wasm代码精简

本节介绍团结引擎中的多种代码优化策略,包括内联优化、引擎功能裁剪和托管代码精简等方法,帮助开发者减少冗余代码并提升游戏性能。

核心功能和工具概览

页面 描述
Wasm 内联选项优化 提供 Wasm 文件内联指令行数的上限配置,优化指令排布以进一步提升性能。
wasm 分析工具 深入分析 Wasm 文件结构,精准定位可精简代码,从而优化整体文件大小。
引擎代码剔除 移除未使用的引擎功能模块,减少运行时资源占用,提高资源利用率。
Built-in Package 剔除 对内建模块进行优化剔除,清理无用功能,提升整体运行效率。
托管代码精简 通过新增的托管代码剪裁策略,有效去除无效代码,实现极致优化。

具体优化措施

在实际开发中,以下措施可以帮助开发者减少最终打包到游戏中的代码量:

  1. 调整托管代码剔除级别
    Edit -> Project Settings -> Player -> Other Settings 中,将 Managed Strip Level 调整为 High,并使用 link.xml 文件保留必要的 C# 代码。

  2. 裁剪未使用的引擎代码
    开启 Strip Engine Code 选项,自动剔除未使用的引擎模块:

  3. 移除无用的内建模块和插件

  4. Window -> Package Manager 中禁用未使用的 package 和内建模块(如 Timeline 和 Physics),以减少包体大小:

  5. 删除项目中未使用的插件(尤其是包含 link.xml 的插件),避免多余代码被保留。

  6. 隔离平台无关代码 使用宏定义隔离小游戏平台中用不到的代码。例如,将仅用于编辑器的代码独立管理。

  7. 优化代码分包和发布设置

  8. 利用 小游戏代码分包 功能,将非必要代码拆分至后续包体中。

  9. Player -> Publishing Settings 中:
    • Debug Symbols 设置为 external
    • 异常选项设为 Explicitly Thrown Exceptions Only(Full 仅用于调试)。

验证优化效果

  • 打包完成后,可在 Library\Bee\artifacts\WeixinMiniGame\ManagedStripped 目录检查进入首包的插件和引擎模块。
  • 使用工具(如 dotPeek)分析 dll 文件,确认裁剪是否正确:
小游戏开发
Wasm 内联选项优化