我刚在Unity文档中读到,Unity的垃圾回收使用Boehm GC算法,是非代际和非压缩的。“非代际”意味着GC在执行收集时必须扫描整个堆,因此随着堆的扩大,性能会下降。“非压缩”意味着内存中的对象不会被重新定位以关闭对象之间的间隙。
有没有人知道或猜测为什么Unity中止使用带有代和压缩功能的标准.Net GC?我做了一些测试,我真的很惊讶,即使是LOH中的对象也在第0代中,可能GC试图用小对象来收集它们。
有没有人知道或猜测为什么Unity中止使用带有代和压缩功能的标准.Net GC?我做了一些测试,我真的很惊讶,即使是LOH中的对象也在第0代中,可能GC试图用小对象来收集它们。