3.8.5引擎源码的$符号干嘛用的

下了最新的3.8.5分支里面的代码,想合个game.ts一个文件的代码,本来以为分分钟的事情,结果大量冲突,对比发现3.8.5多了好多$符号,这个是干啥用的
0d4b594e87d772f8fb115f1352eb45a


会不会是有相关kpi?比如说经过xx优化,性能提升xxx

3赞

这是在优化包体,以 $ 结尾的变量名在构建后会被优化成短名称。

关于 Mangle:

https://terser.org/docs/options/

2赞

666,阻断hack过代码的项目升级路:
image

1赞

这种优化方式实在是太挫了

1赞

这类大面积修改会造成版本升级障碍的,为什么要在3.8.5上进行,而不是大版本,比方4.0这种本身就有预期会有大量修改的版本进行迭代,从3.8.4到3.8.5我理解应该是bugfix为主,无脑冲的节奏,大面积修改代码测试流程也会非常痛苦,目前修改过引擎合并代码大概率会有非常大的冲突,所以对于版本号的定义是不是不太明确

1赞

然后还有个问题,这个修改是显式修改,会影响所有后续有自定义引擎的修改者,这个$是必须要加,还是自己修改/增加新功能的时候可以不用加,提交pr的时候是需要遵循新的代码提交规范

又能学到新东西了,,

3.8.5是大版本 谁让你升级的 :grimacing:

高端操作~

神问我为什么喜欢脱裤子放屁?
我说,因为这样可以让灵感自由飞翔,顺便给众开发者加点“气”氛!

let worldPos = tmpV3.set(this.node.worldPosition);
worldPos.x = 100;
this.node.worldPosition = worldPos;

摘自:《代码星球上的外星程序员》

厉害了~~

还有这种操作,游戏项目这么做有效吗?

非常好的优化,使我得项目原地爆炸

很全面的优化 :wink:

优雅 实在是优雅

385 还没发布,主要为了优化包体,预计2D可以减少近500kb,可以论坛反馈下,预计11月中会发社区版本,主要优化包体,和修复384 的小问题

折腾这些,费时费力,这500kb的性价太低了。一张图片的事情,不如不改。

3赞

这个是首包大小,对于小游戏进入首屏时间帮助比较大,包体优化不止这一个修改。可以论坛反馈哈

1赞

你是喵星人么?

我是,喵~~~~~~~~~~~~