了解到的一些小的知识点 优化

Component 相关优化
Transform
使用内建的数组,比如用 Vector3.zero 而不是 new Vector(0, 0, 0);
transform.localRotation = Quaternion.Euler(Vector3.zero);
transform.localScale =Vector3.one;
transform.localPosition =Vector3.one;


GameObject 相关优化
(脚本和本地引擎 C++代码之间的通信开销)
Gameobject 缓存:类似组件的缓存策略。
查找对象标签:if (go.CompareTag (“xxx”)来代替 if (go.tag == “xxx”),
因为内部循环调用对象分配的标签属性以及拷贝额外内存。
SendMessageUpwards、SendMessage:少用这两个函数,使用委托替代。
缓存组件:调用 GetComponent 函数耗性能,用变量先缓存到内存在使用, 有
必要时记得更新缓存组件。


NGUI 优化
优化数学运算,尽量采用整型代替浮点型,除法改乘法。

MonoBehaviour优化
如果没有相应的事件处理,删除对应的空函数
Update 优化
如果没必要每帧的逻辑,可以降低频率,方法如下:
Void Update(){if(Time.frameCount%6==0){DoSomething();}}
如果没必要每帧的逻辑,可以使用周期性的协程
如果没必要每帧的逻辑,可以使用
InvokeRepeating("DoSomeThing",0.5f,1.0f);
Gameobject 不可见时,设置 enabled = false 时,update 就会停止调用。
在 update 中尽量不要调用查找对象或组件方法如 FindByTag 或 Find 等等。可
以在 start 中先缓存下来,然后使用。

 

协程 WaitForSeconds 优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TO_ZRG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值