默认情况下,引擎会对编译出的wasm进行较高级别的内联优化处理,这可以一定程度上提高运行效率,但同时也会导致最终的wasm中存在一些含有数千行指令且仅有数十行被执行的函数。这些函数也无法通过微信分包工具进行剔除。因此,我们针对 仅被调用一次的函数为用户提供了允许内联的最大指令行数限制,超出这个指令行数的函数将禁用内联优化,以便于后续用户利用微信分包工具对这些函数进行剔除。
这里的函数指令行数限定范围为20–1000,默认值为200。用户可以根据自身需求自行调整。越小的值会内联更少的函数,在wasm包体中的函数也就越多,分包就可以剔除更多的函数,但同时过小的值也会带来一定的性能损耗。
以默认值200对一款重度MMO小游戏进行测试,使用该功能后该小游戏经由分包后的首包由使用前的25MB降低到23.7MB。