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文件打进包里。

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

相关推荐
叶帆14 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
久数君14 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
会思考的猴子14 天前
Unity VFX 属性 Postion 和 TargetPostion
unity
hai31524754314 天前
九章编程法 · 猜数字游戏 (GW-BASIC 重构版) *
人工智能·microsoft·游戏引擎·游戏程序
心前阳光14 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光14 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯14 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
龙智DevSecOps解决方案14 天前
3A 游戏优化技术栈:如何打通引擎级分析工具与 DevOps 持续集成管线?
unity·性能优化·游戏开发·技术美术·perforce·unrealengine
葛兰岱尔15 天前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity
鼎艺创新科技15 天前
三维电子沙盘中OSGB倾斜摄影数据的加载与渲染
游戏引擎·cocos2d