posted by wap, platform: iPad引用:
原帖由 @ginaamix 于 2024-2-15 15:48 发表
你是不是以为UE引擎子模块也在用GC?
UE GC和编程语言的GC是两码事。UE GC要慢也是标记阶段卡,正常tick能有多少运行时开销?实在嫌慢就关了呗
gameplay这种需求变动多杂活多的地方必然一堆屎山,有个GC托底定时整理内存指不定性能还会更好,别太高看所谓3A的能力,如果真的能做到处处追求极限运行时性能,那为何DOD讲了这么多年还没普及呢
UE 到现在连个基本的jobification 都很难做到,根本原因就是它的内存模型和线程模型都是严重拖后腿的。大部分ue 开发者使用的多线程都是system on thread,这种属于二十年前的开发范式了,严重落后于时代
这也是为什么大部分3a都是自研引擎
顶级的3a游戏甚至可以做到每个子系统都job 化,在n个worker thread 并行执行,甚至连主线程都没有了。这就暗示了内存对象的ownership 不可能交给一个外部的系统