原因是要GC问题,项目要取消勾选这个 use incremental GC,这样运行就不会再卡顿了

因为 Incremental GC 不是"消灭卡顿",而是"把回收拆成很多小段做"。
Unity 官方说明里提到,它会把 GC 工作分散到多帧里,所以单次大卡顿会变成很多次小开销;同时它还会加上 write barrier 之类的额外成本,而且如果对象引用变化太频繁,增量回收还可能做不完,最后回退成完整回收。也就是说,它本身就不是零成本。
官方文档:Incremental garbage collection
对这种"走路时偶尔一卡"的场景,通常是:
- 这一帧本来就有移动、物理、动画开销
- Incremental GC 又插进来做一点回收
- 帧预算被挤爆,就表现成轻微顿一下
所看到的不是"开了它更差",而是"它把原本的大停顿,变成了更频繁的小停顿"。如果你的项目每帧还在持续分配内存,体感就会更明显。
后续真原因找到了,该死的有道词典的划词翻译,把有道词典关闭了就不会抽帧卡顿了
造成的原因是Prifiler中 EditorLoop占用过高,这个app会导致unity编辑器不断触发重新绘制编排Layout,真该死啊