Unity内存管理


参考:《Unity游戏优化第2版》

为什么要进行内存管理?

内存管理是性能优化的一个重要方面。

可能造成性能问题的原因有2个:
● 不必要的内存分配:垃圾回收开销大,占用CPU(用户体验差?怎么差了?会卡?)
● 内存泄露:导致崩溃

通过unity高效使用内存需要学会这些:
● Unity引擎底层
● Mono平台
● C#语言
● IL2CPP脚本后端的工作原理

为什么不只是关注高层问题呢?
因为计算机是个复杂的系统,如果长期脱离底层问题,可能会导致潜在灾难。

为什么会有Mono和IL2CPP

因为游戏引擎的设计方案通常是这样的:
● 在底层运行C++,处理渲染、动画、资源管理等;
● 为要实现的玩法逻辑提供高级脚本语言。
而Unity也是构建在C++之上的,并在开始的时候选择了Mono来提供这个特性(解决脚本语言到本地代码的过程)。

托管语言、托管代码

托管代码是:必须在CLR上运行的源码。
通常“托管”可以指代:依赖于独立运行时环境来执行,且由自动垃圾回收进行监控。

Mono

Mono是一个开源项目,本质上它是.NET类库的开源重置。它支持很多不同的编程语言,可以将其编译为CIL。
从IDE切换到Unity编辑器时,代码会自动编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值