资讯详情

将 Unity 移植到 CoreCLR

📅 2026/9/28 21:13:48 | 华诺云谱 👁 阅读
将 Unity 移植到 CoreCLR
关于垃圾收集器的一些情况C# 语言的内存分配由垃圾回收器管理。在需要分配内存时,分配内存的代码可以在不再使用内存时忽略内存。GC 稍后会过来回收这些内存,供其他代码使用。Unity 目前使用的是Boehm GC,这是一种保守的、不移动的 GC。它会扫描所有线程栈(包括托管代码和本地代码),寻找要收集的托管对象,一旦分配了托管对象,该对象在内存中的位置就永远不会移动。.NET使用CoreCLR GC,它是一种精确的移动GC。它仅在托管代码中跟踪已分配的对象,并在内存中移动这些对象以提高性能。这样,CoreCLR GC 就能以更少的开销工作,为您的游戏提供更好的性能特性。这两种 GC 都非常出色,但它们对使用它们的代码提出了不同的要求。Unity 引擎和编辑器代码是根据 Boehm GC 的要求开发的,因此要使用 CoreCLR GC,我们需要对 Unity 代码进行一些修改,包括修改 Unity 编写的自定义 marshaling 工具 - 绑定生成器和代理生成器。垃圾收集器到底是做什么的?/
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑