Open finscn opened 5 months ago
顺便 再次吐槽下 你们的 eslint .
以前 我是非常原因给 cocos提交pr 的, 但是道了 3.x 时代, 真的是不想碰你们的代码.
vscode打开 各种标红, 各种eslint错误. 还有很多更可怕的 xxx | null
, null!
.
而且 xxx | null
, xxx | undefined
, xxx | null | undefined
混着用, 顺序也各种随意 , 而且有的有空格有的没空格....
你们什么时候能完善下你们的eslint (以及tsconfig) 呢?
这事你们迟迟不做, 是因为现在改eslint, 并修正已有代码的报错, 对代码改动太大? 大了又如何呢? 怕影响使用自定义引擎的人? 我觉得首先 这类人不多, 其次 这类人都是高手 高手能应对 eslint的改变带来的问题.
磨刀不误砍柴工, 你们越是人手不足 越是人员能力层次不齐, 越需要eslint.
希望能好好考虑考虑.
eslint 的问题主要是一下子太多没法全部改过来,在遇到的过程中一点点改。另外,我之前看到你有提过 tsconfig 的配置修改。我看一下修改太多。最好是一次改一点,针对每点都讨论清楚为什么这么改。这样比较容易推进。
@minggo walk为什么那么耗时? 以及 似乎 wasm版本的spine 并没有提升多少性能. wasm可能确实快了些, 但是它和js之间的通讯也是耗时的, 可能提升的性能没法弥补通讯的消耗.
@minggo spine的wasm库是不是没用共享内存啊? 如果用了 还是这么慢 那真的难以接受了.
强烈要求提供使用 ts版本的spine runtime的能力. ts版本至少更方便hack和优化.
查了下 小游戏平台的wasm是不支持共享内存的... 那真的太可怕了. 再次强烈要求 让开发者可以选择 ts版本的 spine runtime.
这个是真机上小游戏的cpu profiler , walk 耗费时间特别多. @minggo , 这个改为非递归会好一些吗? (我们项目中上万个node , 分很多层级)
这个我们研究下
Use Case
目前 batcher-2d.ts 的 walk 方法已经成为我们项目的性能热点之一 (游戏比较特殊, 同屏元素多 且层级深)
看了下 walk 的实现, 它并不是尾递归, 难以被js引擎自动优化, 希望能 人工优化为 非递归.
https://github.com/cocos/cocos-engine/blob/v3.8.5/cocos/2d/renderer/batcher-2d.ts#L825
Problem Description
(如上所述)
Proposed Solution
No response
How it works
No response
Alternatives Considered
无
Additional Information
No response