【Unity】Mono相关理论知识学习

一种编译技术。

优点:

  1. 支持JIT编译:在运行时将IL编译成机器码。首次执行稍慢,好处在于运行更快,迭代更高效。
  2. 构建速度快:无需将IL转成C++,构建过程省去了IL2CPP的转换和原生编译步骤,适合开发阶段快速阶段测试和构建。
  3. 调试体验优秀:支持热重载、断点调试、变量查看、Call Stack等功能.
  4. 构建包体小:没有庞大的C++生成代码和原生库,在某些平台(如PC)可以获得更小的包体。
  5. 兼容性好:Mono支持大部分的C#功能和.NET API。
  6. 适用于某些平台:Unity编辑器就是Mono很多开发工作流程都是基于Mono

缺点:

  1. JIT导致的平台限制:iOS平台禁止使用JIT——Mono无法用于iOS发布
  2. 运行性能差于IL2CPP由于MonoJIT形式因此无法提前进行深度优化移动端嵌入式设备场景性能明显弱于IL2CPP特别启动时间内存分配效率
  3. 可逆性高,安全性差Mono使用IL文件运行容易编译
  4. GC垃圾回收效率相对较低MonoMono GC(Boehm GC)在大内存高频率分配场景效率较差IL2CPP提供UnityGC
  5. 对新语言的支持有限Unity旧版Mono运行支持最新C# 8 / 9特性例如异步流模式匹配增强

Mono构建Unity项目流程:C#源码 --> 用C#编译器编译成中间语言IL--> 生成 .NET DLL

Mono打包结果:生成.Net IL,存储.dll文件属于一种字节码格式不是原生机器码

Mono一个虚拟机运行动态读取IL字节码执行执行方式两种

1. (默认)JIT模式

Mono会在程序运行时IL转换为机器码(本地指令)然后执行对应机器当前平台(Windows/Android)CPU架构生成

2. (可选)解释执行模式

Mono可以直接逐条解释执行IL(性能较差,一般用于调试/嵌入设备)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89272.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React源码4 三大核心模块之一:Schedule,scheduleUpdateOnFiber函数

scheduler工作阶段在React内部被称为schedule阶段。在《React源码3》,我们已经将update加入队列并返回到了根容器节点root。function updateContainer(element, container, parentComponent, callback) {//前面略过var root enqueueUpdate(current$1, update, lane…

Unity3D + VS2022连接雷电模拟器调试

本文参考了Unity3D Profiler 连接真机和模拟器_unity 连接雷电模拟器-CSDN博客 具体步骤: 1、cmd打开命令窗口,输入adb devices,确认能检测到模拟器 示例:List of devices attached emulator-5554 device 2、…

学习软件测试的第十五天

1.会写测试用例吗?测试用例有什么要素“会的,我写过多个功能测试和接口测试的测试用例。我写用例的时候会根据需求文档或原型图分析测试点,然后从正常流程、异常流程、边界情况等方面设计测试场景。每条用例我都会包含:用例编号、…

C++硬实时调度:原理、实践与最佳方案

在工业自动化、航空航天、医疗设备等领域,系统的实时性往往直接关系到生命安全和财产损失。C作为高性能编程语言,为硬实时系统开发提供了强大支持。本文将深入探讨C硬实时调度的核心技术,从操作系统原理到代码实现的全方位解析。 一、实时系统…

LeetCode 1156.单字符重复子串的最大长度

如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。 给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。 示例 1: 输入:text…

K近邻算法的分类与回归应用场景

K近邻算法的分类与回归应用场景 K近邻(K-Nearest Neighbors, KNN)算法是一种基础但强大的机器学习方法,它既可以用于分类问题,也能解决回归问题。 两者的核心思想都是基于"近朱者赤,近墨者黑"的原理&#xf…

算法精讲--正则表达式(二):分组、引用与高级匹配技术

算法精讲–正则表达式(二):分组、引用与高级匹配技术 🚀正则表达式的真正力量在于组合使用各种语法元素,创造出强大而精确的匹配模式! —— 作者:无限大 推荐阅读时间:25 分钟 适用人…

python+requests 接口自动化测试实战

首先介绍一下python的requests模块: requests的使用介绍:requests快速入门 Python结合requests库实现接口自动化测试环境说明: 1.WIN 7, 64位 2.Python3.4.3 (pip-8.1.2) 3.Requests —>pip install requests 4.U…

NAT 实验

NAT 实验 一.实验拓扑图实验目的 1.按照图示配置 IP 地址 2.私网 A 通过 R1 接入到互联网,私网 B 通过 R3 接入到互联网 3.私网 A 内部存在 Vlan10 和 Vlan20,通过 R1 上单臂路由访问外部网络 4.私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公…

buuctf——web刷题第三页

第三页 目录 [FBCTF2019]RCEService [0CTF 2016]piapiapia [Zer0pts2020]Can you guess it? [WUSTCTF2020]颜值成绩查询 [SUCTF 2019]Pythonginx [MRCTF2020]套娃 [CSCCTF 2019 Qual]FlaskLight [watevrCTF-2019]Cookie Store [WUSTCTF2020]CV Maker [红明谷CTF 202…

前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例

一、背景介绍在前后端分离项目开发中,前端页面需要频繁调用后端接口获取数据。在高仙机器人对接项目中,我们采用了若依(RuoYi)框架,前端通过统一的 API 封装与后端进行数据交互,而后端再对接高仙官方的 OPE…

【第五节】部署http接口到ubuntu server上的docker内

描述清楚需求,让deepseek帮我们写一个demo,文件结构如下 FLASK_API_001 ├── app.py └── Dockerfile └── requirements.txtapp.pyfrom flask import Flask, jsonify, requestapp Flask(__name__)# 根路由 app.route(/) def home():return "…

在 IntelliJ IDEA 中添加框架支持的解决方案(没有出现Add Framework Support)

在 IntelliJ IDEA 中添加框架支持的解决方案 问题背景 版本变化:在 IntelliJ IDEA 2023.2 及更高版本中,项目右键菜单中的 “Add Framework Support” 选项已被移除。 常见需求:为 Java 项目添加框架支持(如 Maven、Spring 等&am…

北京-4年功能测试2年空窗-报培训班学测开-第五十天

咦,昨天路上写一半就到家了,后来想早点睡就忘了还要发了,现在赶紧补上昨天是最后一节课(我们将一整天的课称为一节),这就结课了昨天讲了简历编写,面试要准备的内容,还有redis和docker也没有什么…

华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅

华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅 引言 在当今移动应用开发的浪潮中,鸿蒙系统凭借其独特的分布式能力和高效的开发框架,吸引了众多开发者的目光。今天要给大家介绍的是一个基于华为鸿蒙系统开发的开眼App项目——HarmonyO…

代码随想录day36dp4

文章目录1049.最后一块石头的重量II494.目标和474.一和零1049.最后一块石头的重量II 题目链接 文章讲解 class Solution { public:int lastStoneWeightII(vector<int>& stones) {// 1. 确定 DP 数组及下标的含义&#xff1a;// dp[i][j] 表示考虑前 i 块石头&#…

Python 爬虫实战指南:按关键字搜索商品

在电商领域&#xff0c;按关键字搜索商品并获取其详情信息是一项常见的需求。无论是进行市场调研、竞品分析还是用户体验优化&#xff0c;能够快速准确地获取商品信息都至关重要。1688 作为国内领先的 B2B 电商平台&#xff0c;提供了丰富的商品资源。本文将详细介绍如何使用 P…

【源力觉醒 创作者计划】百度AI的开放新篇章:文心4.5本地化部署指南与未来生态战略展望

百度AI的开放新篇章&#xff1a;文心4.5本地化部署指南与未来生态战略展望 一起来玩转文心大模型吧&#x1f449;文心大模型免费下载地址&#xff1a;https://ai.gitcode.com/theme/1939325484087291906 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30…

测试工作中的质量门禁管理

一、前言 测试阶段的质量门禁设计要考虑几个维度,首先是研发流程的阶段划分,每个阶段都要有明确的准入准出标准;其次要考虑不同测试类型的特点,比如功能测试和性能测试的验收标准肯定不同;最后还要平衡质量要求和项目进度。 在单元测试阶段,可以设置通过率和覆盖率的阈值…

线上分享:解码eVTOL安全基因,构建安全飞行生态

随着城市空中交通&#xff08;UAM&#xff09;快速发展&#xff0c;电动垂直起降飞行器&#xff08;eVTOL&#xff09;面临严格的安全与可靠性要求&#xff0c;需满足全球适航标准及全生命周期分析。安全与可靠的飞行系统成为行业关注的焦点。在此背景下&#xff0c;本期线上分…