首页 文章详情

Unity引擎:从Mono迁移到.NET CoreCLR

DotNet NB | 99 2022-05-28 13:58 0 0 0
UniSMS (合一短信)
【业界新闻来源/OSC开源社区, 作者/局长

Unity引擎运行时正在从Mono迁移到.NET Core CLR,一个充满挑战的旅程。
1Unity引擎官宣
Unity 引擎开发团队宣布,他们已开始将 Unity 引擎运行时从 Mono 迁移到 .NET Core CLR。此外,他们还会提供融合 JIT 和 AOT 的解决方案 —— 即集成 IL2CPP 和 Burst,从而实现编译时间效率和代码生成质量之间的最佳平衡
目前,Unity 迁移到 .NET Core CLR 运行时所涉及的工作已经开始。团队表示这是一个非常具有挑战性的旅程,为了能够成功完成迁移,他们会逐步解决这个问题,并确保能够以保持现有 Unity 项目稳定性的方式渐进发布更新。
因此,开发团队会分多个阶段完成此次迁移:
  • 首先,为桌面平台的独立 player 提供对 .NET CoreCLR 的支持。基于此,开发者可以在 player 设置中选择此运行时以及现有的 Mono 和 IL2CPP 后端。
    团队认为,此阶段可以帮助他们迁移 Unity 引擎的核心部分(比编辑器部分小得多),并有望解决此迁移所涉及的大部分技术挑战。开发者在这个阶段仍将通过 .NET Standard 2.1 API 访问 .NET 运行时,他们的目标是在 2023 年发布新的运行时。

  • 然后在第二阶段,团队会把 Unity 编辑器移植到 .NET CoreCLR,同时取消对 .NET Mono 运行时的支持。第二阶段的挑战是,如何在不使用 AppDomain 的情况下在编辑器中重新加载脚本,并完成向 .NET CoreCLR 的切换。它还将涉及升级 IL2CPP 以支持来自 dotnet/runtime 仓库的基类库。开发者最终可以访问完整的 .NET 7.x 或 8.0 API。Unity 团队计划在 2024 年发布新编辑器。

对外,Unity 正在与 Microsoft 和 JetBrains 等行业合作伙伴合作,加大对开源社区的参与力度,以确保 Unity 创作者能使用最新的 .NET 技术
文章 | 局长
来源 | OSC开源社区(ID:oschina2013)
2.NET CoreCLR

.NET Core 是由许多项目所组成,除了基本的类库(Core FX) 之外,也包含采用 RyuJIT 编译的运行平台 Core CLR、编译器平台.NET Compiler Platform、采用 AOT 编译技术运行最优化的包 Core RT (.NET Core Runtime),以及跨平台的 MSIL 编译器 LLILC (LLVM-based MSIL Compiler) 等项目。

Core CLR 移植了 .NET Framework 的 CLR 的功能,包含核心程序库 mscorlib、JIT 编译器、垃圾收集器 (GC) 以及其他运行 MSIL 所需要的运行期环境

CoreCLR:https://github.com/dotnet/coreclr


推荐阅读:
  API 工程化分享
  我的微软 MVP 之路
【译】ASP.NET Core 6 中的性能改进
【译】.NET 7 预览版 1 中的 ASP.NET Core 更新
【译】C# 11 特性的早期预览

点击下方卡片关注DotNet NB

一起交流学习

▲ 点击上方卡片关注DotNet NB,一起交流学习

请在公众号后台

回复 【路线图】获取.NET 2021开发者路线图
回复 【原创内容】获取公众号原创内容
回复 【峰会视频】获取.NET Conf开发者大会视频
回复 【个人简介】获取作者个人简介
回复 【年终总结】获取作者年终总结
回复 加群加入DotNet NB 交流学习群

长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter