Unity开发微信小游戏-减少WASM包体大小

减少wasm包体等于减少下载首包时间+减少编译时间+减少进入游戏使用的内容。

也属于性能优化的一部分。下面是2个优化的大头,解决后会极大减少wasm包体大小。

一、设置代码剪裁等级为高

在打包后运行后可能会报错,缺少模块数字XX。

解决办法:

1.首包持有

在首包中的物体上强引用模块,比如缺少Animator,就在首包的一个空物体上放一个Animator、Animation等等。

2. link.xml

link.xml放在项目任意位置。

其中配置一定要保留那些模块,可以是unity模块,可以是自己的代码命名空间、类、方法、字段等。

3. [Preserve]

被标志的类不会被代码剪裁。

UnityEngine.Scripting.Preserve

public class MyImportantClass {

// 类内容

}

二、中文字体

一个中文字体通常在几mb大小,如果只将首包或全包中用到的文字单独生成一个字符集,就不需要三千或五千字的全字符集了。

一、字符收集

通常字符都是配置在excel或者Scriptobject,可以写个脚本扫描这些配置里面的字段。

当然也可以将所有用到的字符串维护在一个配置里,去重得到结果。

二、制作TMP字符集

使用TMP的FontAssetCreater即可,

但是注意,打包时候要把ttf字体文件移除,目前不清楚为什么会把ttf文件打进包里。

三、根据项目情况选择合适的字符集图集大小

相关推荐
leo__52015 分钟前
单载波中继系统资源分配算法MATLAB仿真程序
算法·matlab·unity
努力长头发的程序猿1 小时前
Unity使用ScriptableObject序列化资源
unity·游戏引擎
mxwin2 小时前
Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算
unity·游戏引擎·shader
小贺儿开发2 小时前
Unity3D 智能云端数字标牌系统
unity·阿里云·人机交互·视频·oss·广告·互动
techdashen2 小时前
用 Rust 写 Serverless:Cloudflare Workers + WebAssembly 实践
rust·serverless·wasm
魔士于安2 小时前
Unity windows 同步 异步 打开文件文件夹工具
游戏·unity·游戏引擎·贴图·模型
笑虾3 小时前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d
魔士于安3 小时前
unity lowpoly 风格 城市 建筑 道路 交通标志
游戏·unity·游戏引擎·贴图·模型
mxwin3 小时前
Unity GPU Shader 性能优化指南
unity·游戏引擎·shader
董董女友15 小时前
unity mcp 配置指南
unity·游戏引擎